Monday, 5 January 2015

MOVE_STATEMENT_CONVERSION_RULES


REPORT  ZA_DEMO_MOVE_ASSIGNSTMTS.

DATA : V_CHAR(40) TYPE C,
      V_PAK(16) TYPE DECIMALS 14 ,
      V_DATE TYPE D,
      V_TIME TYPE T,
      V_NUM(30) TYPE N,
V_HEXA(30) TYPE X.

* V_CHAR = '+534312.121431434'.
* WRITE  V_CHAR.
*SKIP.
**FROM CHATACTER TYPE TO  PACKED TYPE.
*MOVE  V_CHAR TO V_PAK.
** V_PAK = '+12345678901234567.1234567890123446456'.
*WRITE V_PAK.
*NOTE: THE CONVERSION OF TYPE C TO P ---> ACCEPTS ONLY NUMBER OF DIGITS DECLARED AND ONE DECIMAL POINT AND A SIGN AND ANY BLANK CONVERTS TO ZERO.
*V_CHAR = '19890531' .
*MOVE V_CHAR TO V_DATE.
*WRITE V_DATE.
*
*V_CHAR = '66789' .
*MOVE V_CHAR  TO V_TIME.
*WRITE V_TIME.
*V_CHAR = '9871' .
*MOVE V_CHAR TO V_NUM.
*WRITE V_NUM.
*NOTE RIGHT JUSTIFIED.

*V_CHAR = 'ABCDEF0123456789' .
*MOVE V_CHAR TO V_HEXA.
*WRITE V_HEXA.

*NOTE LEFT JUSTIFIED.
* V_PAK = '-12345678901234567.12345678901234567890'.
*  WRITE V_PAK.
* MOVE  V_PAK TO V_CHAR.
* WRITE V_CHAR.

V_DATE = ''.
MOVE V_DATE TO V_PAK.
WRITE V_PAK.

Thursday, 1 January 2015

RETRIEVING A CHARACTER FROM STRING

DATA : V_STRING1(20) TYPE C,
       V_STR(20) TYPE C,
       V_LEN TYPE I,
      K TYPE I.

V_STRING1 = 'HI_MY_FRIEND'.
V_LEN = STRLEN( V_STRING1 ).
V_LEN = V_LEN - 1.

 V_STR = V_STRING1+V_LEN(1).

WRITE : V_STR.
*NOTE : 1.STRLEN( V_STRING1 ) SYNTAX SHOULD BE SAME AS ABOVE.
*       2.V_STRING1+V_LEN(1). FOR GETTING OR RETREVING OR ACCESSING A CHARACTER FROM  STRING THE SYNTAX MUST BE SAME AS ABOVE NO-GAPS.

Monday, 29 December 2014

OPERATIONS ON INTERNAL TABLE

*&---------------------------------------------------------------------*
*& Report  ZA_DEMO_ITABS_OPERATIONS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZA_DEMO_ITABS_OPERATIONS.
DATA : V_LINES TYPE I.
TYPES BEGIN OF TY_T001,
        DEP_ID TYPE I,
        F_NAME TYPE STRING,
        l_NAME TYPE STRING,
        GENDER(4) TYPE C,
  END OF TY_T001.

  DATA ITAB1 TYPE TY_T001 OCCURS 2.
  DATA ITAB2 TYPE TY_T001 OCCURS 2.
  DATA WA_T001 TYPE TY_T001.

WA_T001-DEP_ID = '001'.
WA_T001-F_NAME = 'ANVESH'.
WA_T001-L_NAME = 'GODDATI'.
WA_T001-GENDER = 'MALE'.


INSERT WA_T001    INTO ITAB1 INDEX 1  .
CLEAR WA_T001.

WA_T001-DEP_ID = '002'.
WA_T001-F_NAME = 'RAMESH'.
WA_T001-L_NAME = 'GODAPATI'.
WA_T001-GENDER = 'MALE'.

APPEND WA_T001    TO ITAB1  .
CLEAR WA_T001.

WA_T001-DEP_ID = '003'.
WA_T001-F_NAME = 'SURESH'.
WA_T001-L_NAME = 'KODATI'.
WA_T001-GENDER = 'MALE'.

APPEND WA_T001    TO ITAB1  .
CLEAR WA_T001.

WA_T001-DEP_ID = '004'.
WA_T001-F_NAME = 'GURESH'.
WA_T001-L_NAME = 'KODATI'.
WA_T001-GENDER = 'MALE'.

INSERT  WA_T001   INTO ITAB1 INDEX 4  .
CLEAR WA_T001.
WA_T001-DEP_ID = '005'.
WA_T001-F_NAME = 'PADMESH'.
WA_T001-L_NAME = 'RUDRAPATI'.
WA_T001-GENDER = 'MALE'.

INSERT WA_T001    INTO ITAB1 INDEX 5  .
CLEAR WA_T001.

SORT ITAB1 ASCENDING BY  F_NAME.

LOOP AT ITAB1 INTO WA_T001.
  WRITE WA_T001-DEP_ID , 24
           WA_T001-F_NAME ,36
           WA_T001-L_NAME,45
           WA_T001-GENDER.
  SKIP.
           ENDLOOP.
CLEAR WA_T001.

*APPEND LINES OF ITAB1  TO ITAB2.
INSERT LINES OF ITAB1 FROM TO INTO ITAB2 INDEX 1.


LOOP AT ITAB2 INTO WA_T001.
  WRITE WA_T001-DEP_ID , 24
           WA_T001-F_NAME ,36
           WA_T001-L_NAME,45
           WA_T001-GENDER.
  SKIP.
           ENDLOOP.

DESCRIBE TABLE  ITAB1 LINES V_LINES.
           WRITE V_LINES.

WA_T001-DEP_ID = '004'.
WA_T001-F_NAME = 'GURESH'.
WA_T001-L_NAME = 'KODATI'.
WA_T001-GENDER = 'MALE'.



INSERT WA_T001 INTO ITAB2 INDEX 4.
READ TABLE ITAB2 INTO WA_T001 INDEX 4.
WRITE :5 WA_T001-DEP_ID , 24
           WA_T001-F_NAME ,36
           WA_T001-L_NAME,45
           WA_T001-GENDER.
*DELETE ITAB2 INDEX 4.
*READ TABLE ITAB2 INTO WA_T001 INDEX 1.
*WRITE :5 WA_T001-DEP_ID , 24
*           WA_T001-F_NAME ,36
*           WA_T001-L_NAME,45
*           WA_T001-GENDER.

ADDING LINES TO THE INTERNAL TABLE USING HEADER LINE / WORK AREA.

*&---------------------------------------------------------------------*
*& Report  ZA_DEMO_ITABS_DISPLAY
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZA_DEMO_ITABS_DISPLAY.

TYPES BEGIN OF  TY_MARA,
  CLIENT_NAME(20) TYPE C,
  MAT_NUMBER TYPE I,
  LASTCHNGDATE TYPE DATE,
  END OF TY_MARA.


  DATA IT_MARA TYPE  TABLE OF TY_MARA.
  DATA WA_MARA TYPE  TY_MARA.
  WA_MARA-CLIENT_NAME = '1.BAJAJALLIANZ'.
  WA_MARA-MAT_NUMBER = '1234'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.


APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.

 WA_MARA-CLIENT_NAME = '2.ICICILAMBORD'.
  WA_MARA-MAT_NUMBER = '4567'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.

APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.
  WA_MARA-CLIENT_NAME = '3.HDFCERGO'.
  WA_MARA-MAT_NUMBER = '8901'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.


APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.
 WA_MARA-CLIENT_NAME = '4.SBI-LIFE'.
  WA_MARA-MAT_NUMBER = '1212'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.

APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.
WA_MARA-CLIENT_NAME = '5.LIC-INDIA'.
  WA_MARA-MAT_NUMBER = '1212'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.

APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.

  WA_MARA-CLIENT_NAME = '6.NEWINDIA-ASSURANCE'.
  WA_MARA-MAT_NUMBER = '1234'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.

APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.
 WA_MARA-CLIENT_NAME = '7.OBC'.
  WA_MARA-MAT_NUMBER = '4567'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.

APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.
  WA_MARA-CLIENT_NAME = '8.AB'.
  WA_MARA-MAT_NUMBER = '8901'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.


APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.
 WA_MARA-CLIENT_NAME = '9.CANARA'.
  WA_MARA-MAT_NUMBER = '1212'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.

APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.
WA_MARA-CLIENT_NAME = '10.P&S'.
  WA_MARA-MAT_NUMBER = '1212'.
  WA_MARA-LASTCHNGDATE = '13/12/2014'.

APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.
  LOOP AT IT_MARA INTO WA_MARA.

    WRITE  WA_MARA-CLIENT_NAME,31 WA_MARA-MAT_NUMBER , 52  WA_MARA-LASTCHNGDATE.
    SKIP.


    ENDLOOP.
*WRITE : 60 'ANVESH',
*        127 'GODDATI'.

Saturday, 27 December 2014

STRING COMPARISIONS

'AABB' co 'AB' True
         'ABCD' co 'ABC' False---->string1 is refernce 
         'AABB' cn 'AB' False------>string1 is refernce 
         'ABCD' cn 'ABC' True----->string1 is refernce
         'AXCZ' ca 'AB' True------>any string is reference
         'ABCD' ca 'XYZ' False------>any string is reference
         'AXCZ' na 'ABC' False------>any string is reference
         'ABCD' na 'XYZ' True ------>any string is reference
        'ABCD' CS    'A'          TRUE. ------>any string is reference
       'ABCD'  CS   'XYZ'    FALSE. ------>any string is reference
        'ABCD' NS    'A'          TRUE. ------>any string1 is reference
       'ABCD'  NS   'XYZ'    FALSE. ------>any string1 is reference




CA:

*    srting str1 should be less than string 2 in case of co comparision.
*    STRING(STR1) MUST CONTAIN ALL OR ATLEAST ONE CHARACTER THAT  ARE IN 
     THE STRING 2.
*   BLANK SPACES ARE IGNORED EVEN IN THE STATEMENT STR1 OR STR2 .
*   the blanks or spaces  before or after the string1 and string2 are ignored.
    IF THE STATEMENT IS TRUE THE STRING1 LENGHT IS RETURN OTHERWISE,THE POSITON OF CHARACTER OF STRING2 THAT IS NOT THERE IN THE STRING ONE IS RETURN.


DATA : V_STR1(25) TYPE C,
              V_STR2(20) TYPE C.

 V_STR1 = '   ab      '.
 V_STR2 = '     abc@#$    '.

 IF V_STR1 co V_STR2 .
*   WRITE : 'TRUE'.
   write : sy-fdpos.
   ELSE .
*      WRITE : 'FALSE'.
       write : sy-fdpos.
     ENDIF.

CS:
REPORT  ZA_DEMO_STRINGS_COMPARISONS.
PARAMETERS : V_STR1 TYPE STRING,
             V_STR2 TYPE STRING.



IF  V_STR1 cs V_STR2 .

WRITE  'TRUE'.

ELSE.
  WRITE 'FALSE' .

ENDIF.




Sunday, 14 December 2014

FORMAT COLOR DEMO PROGRAMME

WHILE SY-INDEX  <= 7.
FORMAT  COLOR = SY-INDEX.
  WRITE :   / SY-INDEX INTENSIFIED ,SY-INDEX   INTENSIFIED OFF,SY-INDEX INVERSE,SY-INDEX INVERSE OFF.
  SY-INDEX = SY-INDEX + 1.
  ENDWHILE.

SAP ABAP FORMAT OPTIONS DEMO PROGRAMME

REPORT  ZADEMO_FORMAT_OPTIONS.
DATA : G_VAR TYPE F .
      G_VAR = '534.123'.

WRITE  :  /40  G_VAR ROUND 2.
 WRITE  :     SY-ULINE.
  WRITE  :     SY-VLINE.
 WRITE   SKIP LINES.
WRITE  :  /40 G_VAR EXPONENT 3.
WRITE  :     SY-ULINE.
 WRITE  :     SY-VLINE.
WRITE  :  /40 G_VAR DECIMALS 3.
WRITE  :     SY-ULINE.
 WRITE  :     SY-VLINE.
WRITE : G_VAR NO-SIGN.