You are on page 1of 94

PROGRAM-1 Report zcl_join1.

data: begin of itab_final occurs 0, ebeln type ekpo-ebeln, ebelp type ekpo-ebelp, matnr type ekpo-matnr, kunnr type ekpo-kunnr, menge type ekpo-menge, aedat type ekko-aedat, lifnr type lfa1-lifnr, name1 type lfa1-name1, end of itab_final. data: begin of it_ekko occurs 0, ebeln type ekko-ebeln, aedat type ekko-aedat, end of it_ekko. data: begin of it_lfa1 occurs 0, lifnr type lfa1-lifnr, name1 type lfa1-name1, kunnr type lfa1-kunnr, end of it_lfa1. *DATA : BEGIN OF it_lfa1 OCCURS 0, * * * * lifnr TYPE lfa1-lifnr, name1 TYPE lfa1-name1, kunnr TYPE lfa1-kunnr, END OF it_lfa1.

*DATA: BEGIN OF it_mara OCCURS 0, * * * matnr TYPE mara-matnr, ernam TYPE mara-ernam, END OF it_mara.

select ebeln ebelp matnr kunnr menge from ekpo into corresponding fields of table itab_final up to 100 rows. select ebeln aedat from ekko into corresponding fields of table it_ekko. select lifnr name1 kunnr from lfa1 into corresponding fields of table it_lfa1. *SELECT matnr ernam FROM mara INTO CORRESPONDING *FIELDS OF TABLE it_mara. loop at itab_final. read table it_ekko with key ebeln = itab_final-ebeln. itab_final-aedat = it_ekko-aedat. modify itab_final. endloop. loop at itab_final. read table it_lfa1 with key kunnr = itab_final-kunnr. itab_final-lifnr = it_lfa1-lifnr. itab_final-name1 = it_lfa1-name1. modify itab_final. endloop.

*LOOP AT itab_final. * * * READ TABLE it_mara WITH KEY matnr = itab_final-matnr. itab_final-ernam = it_mara-ernam.

MODIFY itab_final.

*ENDLOOP. loop at itab_final. at first. write:/ 'EBELN' , 20 'EBELP', 40 'MATNR', 55 'AEDAT', 70 'LIFNR', 80 'NAME1', 110 'MENGE'. endat. endloop. skip. loop at itab_final. write:/ itab_final-ebeln under 'EBELN', itab_final-ebelp under 'EBELP', itab_final-matnr under 'MATNR', itab_final-aedat under 'AEDAT', itab_final-lifnr under 'LIFNR', itab_final-name1 under 'NAME1', itab_final-menge under 'MENGE'. endloop.

PROGRAM-2 *&---------------------------------------------------------------------* *& Report *& ZHN_BDC * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZHN_BDC

DATA: SALE TYPE BAPIVBELN-VBELN, SALE_HEADER TYPE BAPISDH1, SALE_HEADERX TYPE BAPISDH1X. SALE = '0000005473'. SALE_HEADER-NAME = 'SABHA'. SALE_HEADERX-UPDATEFLAG = 'U'. SALE_HEADERX-NAME = 'X'. DATA RE TYPE BAPIRET2 OCCURS 0 WITH HEADER LINE. CALL FUNCTION 'BAPI_SALESORDER_CHANGE' EXPORTING salesdocument ORDER_HEADER_IN order_header_inx * * * * SIMULATION BEHAVE_WHEN_ERROR INT_NUMBER_ASSIGNMENT LOGIC_SWITCH tables return * * * * * * * * ORDER_ITEM_IN ORDER_ITEM_INX PARTNERS PARTNERCHANGES PARTNERADDRESSES ORDER_CFGS_REF ORDER_CFGS_INST ORDER_CFGS_PART_OF = RE = = = = = = = = = SALE = SALE_HEADER = SALE_HEADERX = = ' ' = ' ' =

* * * * * * * * * * *

ORDER_CFGS_VALUE ORDER_CFGS_BLOB ORDER_CFGS_VK ORDER_CFGS_REFINST SCHEDULE_LINES SCHEDULE_LINESX ORDER_TEXT ORDER_KEYS CONDITIONS_IN CONDITIONS_INX EXTENSIONIN . LOOP AT RE.

= = = = = = = = = = =

WRITE:/ RE-TYPE,RE-ID,RE-NUMBER,RE-MESSAGE. ENDLOOP.

PROGRAM-3

*&---------------------------------------------------------------------* *& Report *& ZBDC1 * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

zbdc1

TYPES: BEGIN OF str, program TYPE bdcdata-program, dynpro TYPE bdcdata-dynpro, dynbegin TYPE bdcdata-dynbegin, fnam TYPE bdcdata-fnam, fval TYPE bdcdata-fval, END OF str. DATA itab TYPE TABLE OF str WITH HEADER LINE. DATA: PO_HEADER TYPE BAPIMEPOHEADER. DATA PO_HEADERX TYPE BAPIMEPOHEADERX. DATA: BEGIN OF itab1 OCCURS 0, PO_NO TYPE MEPO_SELECT-EBELN, COLLECT_NO TYPE MEPO1229-SUBMI, END OF itab1. DATA itab2 LIKE TABLE OF bdcmsgcoll WITH HEADER LINE.. * * * * * * ITAB1-VNO = '4920'. ITAB1-STREET = 'CHENNAI'. APPEND ITAB1. ITAB1-VNO = '603'. ITAB1-STREET = 'TRICHY'. APPEND ITAB1.

CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename filetype has_field_separator * * = 'C:\DATA.TXT' = 'ASC' = '#' HEADER_LENGTH READ_BY_LINE = 0 = 'X'

* * * * TABLES data_tab * * * * * * * * * * * * * * * * * * . IF sy-subrc <> 0.

DAT_MODE IMPORTING FILELENGTH HEADER

= ' '

= =

= itab1 EXCEPTIONS FILE_OPEN_ERROR FILE_READ_ERROR NO_BATCH GUI_REFUSE_FILETRANSFER INVALID_TYPE NO_AUTHORITY UNKNOWN_ERROR BAD_DATA_FORMAT HEADER_NOT_ALLOWED SEPARATOR_NOT_ALLOWED HEADER_TOO_LONG UNKNOWN_DP_ERROR ACCESS_DENIED DP_OUT_OF_MEMORY DISK_FULL DP_TIMEOUT OTHERS = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10 = 11 = 12 = 13 = 14 = 15 = 16 = 17

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF. * * * * *CALL FUNCTION 'BDC_OPEN_GROUP' * EXPORTING * ** * ** * * ** * client DEST group HOLDDATE keep user RECORD prog = sy-mandt = FILLER8 = 'SESSION1' = FILLER8 = 'X' = sy-uname = FILLER1 = sy-cprog ITAB1-VNO = '604'. ITAB1-STREET = 'MADURAI'. APPEND ITAB1.

** IMPORTING ** QID =

* EXCEPTIONS * * * * * * * * * * client_invalid destination_invalid group_invalid group_is_locked holddate_invalid internal_error queue_error running system_lock_error user_invalid = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10

* *

OTHERS .

= 11

*IF sy-subrc <> 0. * * *ENDIF. LOOP AT itab1. * * * * * * * * * * * * * * * * * * * * * itab-program = 'SAPLMEGUI'. itab-dynpro = '0002'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab. APPEND itab. CLEAR itab. itab-fnam = 'BDC_OKCODE'. itab-fval = '=MECHOB'. itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

* * * * * * * * * * * * * * * * * * * * * * * * * * * *

itab-fnam = 'BDC_OKCODE'. itab-fval = '=MEOK'..

APPEND itab. CLEAR itab.

itab-fnam = 'MEPO_SELECT-EBELN'. itab-fval = ITAB1-PO_NO..

APPEND itab. CLEAR itab. itab-fnam = 'MEPO_SELECT-BSTYP_F'. itab-fval = 'X'.

APPEND itab. CLEAR itab.

itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab.

itab-fnam = 'BDC_OKCODE'. itab-fval = '=METOGG'..

APPEND itab.

* * * * * * * * * * * * * * * * * * * * * * * * * * * *

CLEAR itab.

itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab.

itab-fnam = 'BDC_OKCODE'. itab-fval = '=TABHDT8'..

APPEND itab. CLEAR itab.

itab-fnam = 'DYN_6000-LIST'. itab-fval = ' '..

APPEND itab. CLEAR itab.

itab-fnam = 'MEPO1319-SPINF'. itab-fval = 'X'..

APPEND itab. CLEAR itab.

itab-program = 'SAPLMEGUI'.

* * * * * * * * * * * ** * * * * * * * * * * * * * * * *

itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab.

itab-fnam = 'BDC_OKCODE'. itab-fval = '=MESAVE'..

APPEND itab. CLEAR itab. itab-fnam = 'MEPO1229-SUBMI'. itab-fval = ITAB1-COLLECT_NO.

APPEND itab. CLEAR itab.

itab-fnam = 'DYN_6000-LIST'. itab-fval = ' '..

APPEND itab. clear itab. itab-fnam = 'MEPO1319-SPINF'. itab-fval = 'X'..

APPEND itab. clear itab.

* * * * ** ** ** ** * * ** ** ** ** ** ** ** ** * * tables dynprotab EXCEPTIONS INTERNAL_ERROR NOT_OPEN QUEUE_ERROR TCODE_INVALID PRINTING_INVALID POSTING_INVALID OTHERS . IF sy-subrc <> 0. = 1 = 2 = 3 = 4 = 5 = 6 = 7 = itab call function 'BDC_INSERT' exporting tcode POST_LOCAL PRINTING SIMUBATCH CTUPARAMS = 'ME22N' = NOVBLOCAL = NOPRINT = ' ' = ' '

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** * * *CALL TRANSACTION 'ME22N' USING ITAB MODE 'A'. *LOOP AT ITAB2. *WRITE:/ ITAB2-TCODE, ITAB2-MSGV2, ITAB2-MSGV3, ITAB2-MSGV4. * ENDIF. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*ENDLOOP. * REFRESH itab.

PO_HEADER-COLLECT_NO = ITAB1-COLLECT_NO. PO_HEADERX-COLLECT_NO = 'X'. CALL FUNCTION 'BAPI_PO_CHANGE' EXPORTING purchaseorder POHEADER POHEADERX * * * * * * * POADDRVENDOR TESTRUN MEMORY_UNCOMPLETE MEMORY_COMPLETE POEXPIMPHEADER POEXPIMPHEADERX VERSIONS = ITAB1-PO_NO = PO_HEADER = PO_HEADERX = = = = = = =

* IMPORTING * * EXPHEADER EXPPOEXPIMPHEADER = =

* TABLES RETURN * * * * * * * POITEM POITEMX POADDRDELIVERY POSCHEDULE POSCHEDULEX POACCOUNT POACCOUNTPROFITSEGMENT = = = = = = = =

* * * * * * * * * * * * * * * * * *

POACCOUNTX POCONDHEADER POCONDHEADERX POCOND POCONDX POLIMITS POCONTRACTLIMITS POSERVICES POSRVACCESSVALUES POSERVICESTEXT EXTENSIONIN EXTENSIONOUT POEXPIMPITEM POEXPIMPITEMX POTEXTHEADER POTEXTITEM ALLVERSIONS POPARTNER .

= = = = = = = = = = = = = = = = = =

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' * EXPORTING * WAIT =

* IMPORTING * RETURN . ENDLOOP. =

*CALL FUNCTION 'BDC_CLOSE_GROUP' ** EXCEPTIONS ** ** ** * NOT_OPEN QUEUE_ERROR OTHERS . = 1 = 2 = 3

*IF sy-subrc <> 0. ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** *ENDIF. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

PROGRAM-4 *&---------------------------------------------------------------------* *& Report *& ZAZHLOK_STUDDETAIL * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZAZHLOK_STUDDETAIL

DATA: BEGIN OF FI_TAB OCCURS 0, STUD_NO NAME(15) SUBJECT(15) MARKS END OF TYPE I, TYPE C, TYPE C, TYPE I, FI_TAB.

DATA: BEGIN OF STUD_DETAILS OCCURS 0, STUD_NO NAME(15) END TYPE I, TYPE C,

OF STUD_DETAILS.

DATA: BEGIN OF MARK_DETAILS OCCURS 0, STUD_NO SUBJECT(15) MARKS END OF TYPE I, TYPE C, TYPE I, MARK_DETAILS.

STUD_DETAILS-STUD_NO = 1. STUD_DETAILS-NAME = 'RAJ'. APPEND STUD_DETAILS. STUD_DETAILS-STUD_NO = 2. STUD_DETAILS-NAME = 'RAVI'. APPEND STUD_DETAILS. STUD_DETAILS-STUD_NO = 3. STUD_DETAILS-NAME = 'RAM'. APPEND STUD_DETAILS. STUD_DETAILS-STUD_NO = 4. STUD_DETAILS-NAME = 'ARUN'. APPEND STUD_DETAILS.

MARK_DETAILS-STUD_NO = 1. MARK_DETAILS-SUBJECT = 'TAMIL'. MARK_DETAILS-MARKS APPEND MARK_DETAILS. MARK_DETAILS-STUD_NO = 2. MARK_DETAILS-SUBJECT = 'TAMIL'. MARK_DETAILS-MARKS APPEND MARK_DETAILS. MARK_DETAILS-STUD_NO = 3. MARK_DETAILS-SUBJECT = 'ENGLISH'. = 80. = 100.

MARK_DETAILS-MARKS APPEND MARK_DETAILS.

= 30.

MARK_DETAILS-STUD_NO = 4. MARK_DETAILS-SUBJECT = 'ENGLISH'. MARK_DETAILS-MARKS APPEND MARK_DETAILS. MARK_DETAILS-STUD_NO = 5. MARK_DETAILS-SUBJECT = 'SCIENCE'. MARK_DETAILS-MARKS APPEND MARK_DETAILS. = 200. = 40.

lOOP AT MARK_DETAILS. FI_TAB-STUD_NO = MARK_DETAILS-STUD_NO. FI_TAB-SUBJECT = MARK_DETAILS-SUBJECT. FI_TAB-MARKS = MARK_DETAILS-MARKS.

APPEND FI_TAB. *WRITE :/ MARK_DETAILS-STUD_NO, MARK_DETAILS-SUBJECT, MARK_DETAILS-MARKS ENDLOOP.

LOOP AT FI_TAB.

READ TABLE STUD_DETAILS WITH KEY STUD_NO = FI_TAB-STUD_NO. FI_TAB-NAME = STUD_DETAILS-NAME. MODIFY FI_TAB.

ENDLOOP.

lOOP AT FI_TAB. WRITE :/ FI_TAB-STUD_NO, FI_TAB-NAME, FI_TAB-SUBJECT, FI_TAB-MARKS. ENDLOOP.

Program-5: *&---------------------------------------------------------------------* *& Report *& ZCL_COLLECT * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

report

zcl_collect

data: begin of itab_final occurs 0, ebeln type ekpo-ebeln, ebelp type ekpo-ebelp, matnr type ekpo-matnr, kunnr type ekpo-kunnr, menge type ekpo-menge, aedat type ekko-aedat, lifnr type lfa1-lifnr, name1 type lfa1-name1, end of itab_final.

data: begin of it_ekko occurs 0, ebeln type ekko-ebeln,

aedat type ekko-aedat, end of it_ekko.

data: begin of it_lfa1 occurs 0, lifnr type lfa1-lifnr, name1 type lfa1-name1, kunnr type lfa1-kunnr, end of it_lfa1.

select ebeln ebelp matnr kunnr menge from ekpo into corresponding fields of table itab_final up to 10 rows.

select ebeln aedat from ekko into corresponding fields of table it_ekko.

select lifnr name1 kunnr from lfa1 into corresponding fields of table it_lfa1.

loop at itab_final.

read table it_ekko with key ebeln = itab_final-ebeln. itab_final-aedat = it_ekko-aedat. modify itab_final.

endloop.

loop at itab_final.

read table it_lfa1 with key kunnr = itab_final-kunnr. itab_final-lifnr = it_lfa1-lifnr. itab_final-name1 = it_lfa1-name1. modify itab_final.

endloop.

write:/ 'EBELN' , 20 'EBELP', 40 'MATNR', 55 'AEDAT', 70 'LIFNR',

*80 'NAME1', 110 'MENGE'.

skip.

*loop at itab_final. * * * write:/ itab_final-ebeln under 'EBELN', itab_final-ebelp under 'EBELP',

* itab_final-matnr under'MATNR', * * * * * itab_final-aedat under 'AEDAT', itab_final-lifnr under 'LIFNR', itab_final-name1 under 'NAME1', itab_final-menge under 'MENGE'.

*endloop.

data: begin of it_final occurs 0,

matnr type ekpo-matnr,

menge type ekpo-menge, aedat type ekko-aedat, lifnr type lfa1-lifnr, name1 type lfa1-name1, end of it_final.

loop at itab_final.

it_final-matnr = itab_final-matnr. it_final-menge = itab_final-menge.

it_final-aedat = itab_final-aedat. it_final-lifnr = itab_final-lifnr. it_final-name1 = itab_final-name1.

append it_final . endloop.

write:/5 sy-tabix, 'MATNR',20 'AEDAT', 40 'LIFNR',

60 'NAME1', 80 'MENGE'.

loop at it_final. if sy-tabix = 2 skip. endif. write:/ sy-tabix, it_final-matnr under'MATNR', it_final-aedat under 'AEDAT', it_final-lifnr under 'LIFNR', it_final-name1 under 'NAME1', it_final-menge under 'MENGE'. endloop.

Program-6: *&---------------------------------------------------------------------* *& Report *& ZCONTROL1 * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZCONTROL1 no standard page heading.

data: begin of student occurs 0, studno type c, studname type string, subject(15) type c, marks type i,

end of student. data: m type n, num type n, total type i.

student-studno = 1. student-studname = 'raja'. student-subject ='tamil'. student-marks = '100'. append student.

student-studno = 1. student-studname = 'raja'. student-subject ='tamil'. student-marks = '200'. append student.

student-studno = 1. student-studname = 'raja'.. student-subject ='english'. student-marks = '35'. append student.

student-studno = 1. student-studname = 'raja'.

student-subject ='tamil'. student-marks = '500'. append student.

student-studno = 2. student-studname = 'ravi'. student-subject ='science'. student-marks = '100'. append student.

describe table student lines num.

sort student by studno. loop at student.

if m <> student-studno.

if sy-tabix = 1. skip. else. write: / total. clear total. uline. endif. endif.

write:/ student-studno, student-studname, student-subject, studentmarks.total = total + student-marks. m = student-studno. if sy-tabix = num. write:/50 total. clear total. uline. endif. endloop.

Program-7: *&---------------------------------------------------------------------* *& Report *& ZBDC1 * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZBDC1

types: BEGIN OF str, program TYPE bdcdata-program, dynpro TYPE bdcdata-dynpro, dynbegin TYPE bdcdata-dynbegin, fnam TYPE bdcdata-fnam, fval TYPE bdcdata-fval, END OF str.

data itab type table of str with header line.

DATA: BEGIN OF ITAB1 OCCURS 0, VNO TYPE LFA1-LIFNR, STREET TYPE LFA1-STRAS,

END OF ITAB1.

* * * * * * * *

ITAB1-VNO = '4920'. ITAB1-STREET = 'CHENNAI'. APPEND ITAB1.

ITAB1-VNO = '603'. ITAB1-STREET = 'TRICHY'. APPEND ITAB1.

CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename FILETYPE HAS_FIELD_SEPARATOR * * * * * * HEADER_LENGTH READ_BY_LINE DAT_MODE IMPORTING FILELENGTH HEADER tables data_tab * EXCEPTIONS = ITAB1 = = = 'C:\TEXT.TXT' = 'ASC' = '#' = 0 = 'X' = ' '

* * * * * * * * * * * * * * * * *

FILE_OPEN_ERROR FILE_READ_ERROR NO_BATCH GUI_REFUSE_FILETRANSFER INVALID_TYPE NO_AUTHORITY UNKNOWN_ERROR BAD_DATA_FORMAT HEADER_NOT_ALLOWED SEPARATOR_NOT_ALLOWED HEADER_TOO_LONG UNKNOWN_DP_ERROR ACCESS_DENIED DP_OUT_OF_MEMORY DISK_FULL DP_TIMEOUT OTHERS . IF sy-subrc <> 0.

= 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10 = 11 = 12 = 13 = 14 = 15 = 16 = 17

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. * * * * ITAB1-VNO = '604'. ITAB1-STREET = 'MADURAI'. APPEND ITAB1.

LOOP AT ITAB1.

itab-program = 'SAPMF02K'. ITAB-DYNPRO = '0101'. ITAB-DYNBEGIN = 'X'. APPEND ITAB. CLEAR ITAB.

ITAB-FNAM = 'BDC_OKCODE'. ITAB-FVAL = '/00'.

APPEND ITAB. CLEAR ITAB.

ITAB-FNAM = 'RF02K-LIFNR'. ITAB-FVAL = ITAB1-VNO.

APPEND ITAB. CLEAR ITAB.

ITAB-FNAM = 'RF02K-D0110'. ITAB-FVAL = 'X'..

APPEND ITAB. CLEAR ITAB.

itab-program = 'SAPMF02K'. ITAB-DYNPRO = '0110'. ITAB-DYNBEGIN = 'X'. APPEND ITAB. CLEAR ITAB. ITAB-FNAM = 'BDC_OKCODE'. ITAB-FVAL = APPEND ITAB. CLEAR ITAB. ITAB-FNAM = 'LFA1-STRAS'. ITAB-FVAL = APPEND ITAB. CLEAR ITAB. ITAB1-STREET.. '=UPDA'..

CALL TRANSACTION 'XK02' USING ITAB. REFRESH ITAB. ENDLOOP.

Program -8: *&---------------------------------------------------------------------* *& Report *& ZREAD * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZREAD

DATA: BEGIN OF itab_final occurs 0, ebeln TYPE ekpo-ebeln, ebelp TYPE ekpo-ebelp, matnr TYPE ekpo-matnr,

aedat TYPE ekko-aedat, lifnr TYPE lfa1-lifnr, kunnr TYPE ekpo-kunnr, ernam TYPE mara-ernam, END OF itab_final.

DATA: BEGIN OF it_ekko occurs 0, ebeln TYPE ekko-ebeln, aedat TYPE ekko-aedat, END OF it_ekko.

DATA: BEGIN OF it_lfa1 occurs 0, lifnr TYPE lfa1-lifnr, kunnr TYPE lfa1-kunnr, END OF it_lfa1.

DATA: BEGIN OF it_mara occurs 0, matnr TYPE mara-matnr, ernam TYPE mara-ernam, END OF it_mara.

select ebeln ebelp matnr fields of table itab_final.

kunnr from ekpo into corresponding

select ebeln aedat from ekko into corresponding fields of table it_ekko.

select lifnr kunnr from lfa1 into corresponding fields of table it_lfa1. select matnr ernam from mara into corresponding fields of table it_mara.

loop at itab_final. read table it_ekko with key ebeln = itab_final-ebeln. itab_final-aedat = it_ekko-aedat. modify itab_final.

endloop.

loop at itab_final. read table it_lfa1 with key kunnr = itab_final-kunnr. itab_final-lifnr = it_lfa1-lifnr. modify itab_final.

endloop.

loop at itab_final. read table it_mara with key matnr = itab_final-matnr.

itab_final-ernam = it_mara-ernam. modify itab_final.

endloop.

loop at itab_final.

at first.

write:/ 'ebeln', 20 'ebelp', 40 'matnr', 60 'aedat', 80 'lifnr', 100 'kunnr'. endat. endloop. loop at itab_final. write:/ itab_final-ebeln, itab_final-ebelp, itab_final-matnr, itab_final-aedat, itab_final-lifnr, itab_final-kunnr. endloop.

Program-9 DATA: BEGIN OF str, matnr TYPE mard-matnr, werks TYPE mard-werks, labst TYPE mard-labst, END OF str.

data matnr1 like mard-matnr.

data intab like table of str with header line.

select matnr werks labst from mard into table intab up to 10 rows. loop at intab. if matnr1 = intab-matnr. skip . else. uline. endif. write :/ intab-matnr,intab-werks,intab-labst. matnr1 = intab-matnr. modify intab.

Program-10: *&---------------------------------------------------------------------* *& Report *& ZAZH_PGM2 * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZAZH_PGM2

DATA: BEGIN OF OWNSTR, COL1 TYPE I,

COL2(10) TYPE C, COL3(10) TYPE C, END OF OWNSTR,

INTAB LIKE STANDARD TABLE OF OWNSTR. "WITH NON-UNIQUE KEY COL1 "COL2 COL3.

OWNSTR-COL1 = 1. OWNSTR-COL2 = 'AZHAR'. OWNSTR-COL3 = 'MOHAMED'. APPEND OWNSTR TO INTAB.

OWNSTR-COL1 = 2. OWNSTR-COL2 = 'SURESH'. OWNSTR-COL3 = 'RAJENDRAN'. APPEND OWNSTR TO INTAB.

OWNSTR-COL1 = 3. OWNSTR-COL2 = 'SUDHIR'. OWNSTR-COL3 = 'KUMAR'. APPEND OWNSTR TO INTAB.

LOOP AT INTAB INTO OWNSTR. WRITE:/ SY-DBCNT, SY-INDEX,SY-TABIX,OWNSTR-COL2,OWNSTR-COL3. ENDLOOP.

OWNSTR-COL1 = 4. OWNSTR-COL2 = 'RAJNI'. OWNSTR-COL3 = 'KANTH'. INSERT OWNSTR INTO INTAB INDEX 2.

SKIP 3. LOOP AT INTAB INTO OWNSTR. WRITE:/ SY-DBCNT, SY-INDEX,OWNSTR-COL2,OWNSTR-COL3. ENDLOOP.

*DATA: BEGIN OF CUST_STRU, * * * * * * * * * WRITE:(5) SY-DBCNT,SY-INDEX,SY-TABIX. SKIP 3. SELECT KUNNR NAME1 ORT01 FROM KNA1 INTO CUST_STRU UP TO 10 ROWS. KUNNR TYPE KNA1-KUNNR, NAME1 TYPE KNA1-NAME1, ORT01 TYPE KNA1-ORT01, END OF CUST_STRU,

ITAB LIKE STANDARD TABLE OF CUST_STRU.

* * WRITE:/(5) SY-DBCNT,SY-INDEX,SY-TABIX, CUST_STRU-KUNNR,

*CUST_STRU-NAME1,CUST_STRU-ORT01. * * * * * * * LOOP AT ITAB INTO CUST_STRU. WRITE:/(5) SY-DBCNT,SY-INDEX,SY-TABIX, CUST_STRU-KUNNR, SKIP 3. APPEND CUST_STRU TO ITAB. ENDSELECT.

*CUST_STRU-NAME1,CUST_STRU-ORT01. * * * * * * * * * * * * * * * * * SKIP 3. WRITE:(5) SY-DBCNT,SY-INDEX,SY-TABIX. SKIP 3. DO 5 TIMES. WRITE:/(5) SY-DBCNT,SY-INDEX,SY-TABIX. ENDDO. SKIP 3. WRITE:(5) SY-DBCNT,SY-INDEX,SY-TABIX. SKIP 3. ENDLOOP.

* * * * *, *CUST_STRU-NAME1,CUST_STRU-ORT01. WRITE:/(5) SY-DBCNT,SY-INDEX,SY-TABIX,SY-SUBRC, CUST_STRU-KUNNR READ TABLE ITAB INTO CUST_STRU WITH KEY KUNNR = '110'.

Program-11 REPORT ZREAD .

DATA: BEGIN OF itab_final occurs 0, ebeln TYPE ekpo-ebeln, ebelp TYPE ekpo-ebelp, matnr TYPE ekpo-matnr, menge TYPE ekpo-menge, aedat TYPE ekko-aedat, lifnr TYPE lfa1-lifnr, name1 TYPE lfa1-name1, maktx TYPE makt-maktx, END OF itab_final.

DATA: BEGIN OF it_ekko occurs 0, ebeln TYPE ekko-ebeln, aedat TYPE ekko-aedat, END OF it_ekko.

DATA: BEGIN OF it_lfa1 occurs 0, lifnr TYPE lfa1-lifnr, name1 TYPE lfa1-name1,

END OF it_lfa1.

DATA: BEGIN OF it_makt occurs 0, matnr TYPE makt-matnr, maktx TYPE makt-maktx, END OF it_makt.

DATA: BEGIN OF it_vend occurs 0, lifnr type lfa1-lifnr, matnr type ekpo-matnr, menge type ekpo-menge, END OF it_vend.

select ebeln ebelp matnr fields of table itab_final.

from ekpo into corresponding

select ebeln aedat from ekko into corresponding fields of table it_ekko.

select lifnr name1 from lfa1 into corresponding fields of table it_lfa1. select matnr maktx from makt into corresponding fields of table it_makt.

select

matnr menge from ekpo into corresponding

fields of table it_vend.

loop at itab_final. read table it_ekko with key ebeln = itab_final-ebeln. itab_final-aedat = it_ekko-aedat. modify itab_final.

endloop.

loop at itab_final. read table it_lfa1 with key name1 = itab_final-name1. itab_final-lifnr = it_lfa1-lifnr. modify itab_final.

endloop.

loop at itab_final. read table it_makt with key matnr = itab_final-matnr. itab_final-maktx = it_makt-maktx. modify itab_final.

endloop.

loop at itab_final. read table it_vend with key matnr = itab_final-matnr. itab_final-menge = it_vend-menge. modify itab_final.

endloop. loop at itab_final. AT FIRST. WRITE:/ 'EBELP', 12 'MATNR', 19 'LIFNR', 50 'AEDAT', 65 'MENGE'. uline. ENDAT. write:/ itab_final-ebeln,

itab_final-ebelp, itab_final-matnr, itab_final-lifnr, itab_final-aedat, itab_final-menge. endloop.

Program-12 data: begin of itab_final occurs 0, ebeln type ekpo-ebeln, ebelp type ekpo-ebelp, matnr type ekpo-matnr, kunnr type ekpo-kunnr, menge type ekpo-menge, aedat type ekko-aedat, lifnr type lfa1-lifnr, name1 type lfa1-name1, end of itab_final.

data: begin of it_ekko occurs 0, ebeln type ekko-ebeln, aedat type ekko-aedat, end of it_ekko.

data: begin of it_lfa1 occurs 0, lifnr type lfa1-lifnr, name1 type lfa1-name1, kunnr type lfa1-kunnr, end of it_lfa1.

*DATA : BEGIN OF it_lfa1 OCCURS 0, * * * * lifnr TYPE lfa1-lifnr, name1 TYPE lfa1-name1, kunnr TYPE lfa1-kunnr, END OF it_lfa1.

*DATA: BEGIN OF it_mara OCCURS 0, * * * matnr TYPE mara-matnr, ernam TYPE mara-ernam, END OF it_mara.

select ebeln ebelp matnr kunnr menge from ekpo into corresponding fields of table itab_final up to 100 rows.

select ebeln aedat from ekko into corresponding fields of table it_ekko.

select lifnr name1 kunnr from lfa1 into corresponding fields of table it_lfa1.

*SELECT matnr ernam FROM mara INTO CORRESPONDING *FIELDS OF TABLE it_mara.

loop at itab_final.

read table it_ekko with key ebeln = itab_final-ebeln. itab_final-aedat = it_ekko-aedat. modify itab_final.

endloop.

loop at itab_final.

read table it_lfa1 with key kunnr = itab_final-kunnr. itab_final-lifnr = it_lfa1-lifnr. itab_final-name1 = it_lfa1-name1. modify itab_final.

endloop.

*LOOP AT itab_final. * * READ TABLE it_mara WITH KEY matnr = itab_final-matnr.

* *

itab_final-ernam = it_mara-ernam. MODIFY itab_final.

*ENDLOOP.

loop at itab_final.

at first.

write:/ 'EBELN' , 20 'EBELP', 40 'MATNR', 55 'AEDAT', 70 'LIFNR', 80 'NAME1', 110 'MENGE'.

endat.

endloop.

skip.

loop at itab_final.

write:/ itab_final-ebeln under 'EBELN', itab_final-ebelp under 'EBELP', itab_final-matnr under 'MATNR', itab_final-aedat under 'AEDAT', itab_final-lifnr under 'LIFNR', itab_final-name1 under 'NAME1', itab_final-menge under 'MENGE'. endloop.

Program-15

Po using BAPI

*&---------------------------------------------------------------------* *& Report *& ZLG_BAPI * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT DATA:

ZLG_BAPI PO_NO TYPE BAPIMEPOHEADER-PO_NUMBER, PO_HEADER TYPE BAPIMEPOHEADER, PO_HEADERX TYPE BAPIMEPOHEADERX.

DATA: RE TYPE TABLE OF BAPIRET2

WITH HEADER LINE.

PO_NO

= '9000000024'.

PO_HEADER-COLLECT_NO = 5678. PO_HEADERX-COLLECT_NO = 'X'.

CALL FUNCTION 'BAPI_PO_CHANGE' EXPORTING purchaseorder = PO_NO

POHEADER POHEADERX * * * * * * * * * * POADDRVENDOR TESTRUN MEMORY_UNCOMPLETE MEMORY_COMPLETE POEXPIMPHEADER POEXPIMPHEADERX VERSIONS IMPORTING EXPHEADER EXPPOEXPIMPHEADER TABLES RETURN * * * * * * * * * * * * * * POITEM POITEMX POADDRDELIVERY POSCHEDULE POSCHEDULEX POACCOUNT POACCOUNTPROFITSEGMENT POACCOUNTX POCONDHEADER POCONDHEADERX POCOND POCONDX POLIMITS POCONTRACTLIMITS

= PO_HEADER = PO_HEADERX = = = = = = =

=AS =

= = = = = = = = = = = = = = =

RE

* * * * * * * * * * * .

POSERVICES POSRVACCESSVALUES POSERVICESTEXT EXTENSIONIN EXTENSIONOUT POEXPIMPITEM POEXPIMPITEMX POTEXTHEADER POTEXTITEM ALLVERSIONS POPARTNER

= = = = = = = = = = =

LOOP AT RE. WRITE:/ RE-TYPE,RE-ID,RE-NUMBER,RE-MESSAGE. ENDLOOP.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' * * EXPORTING WAIT IMPORTING RETURN . = RE. =

Program-16 *&---------------------------------------------------------------------* *& Report *& ZLG_BAPI * *

*&---------------------------------------------------------------------*

*& *&

* *

*&---------------------------------------------------------------------*

REPORT DATA:

ZLG_BAPI PO_NO TYPE BAPIMEPOHEADER-PO_NUMBER, PO_HEADER TYPE BAPIMEPOHEADER, PO_HEADERX TYPE BAPIMEPOHEADERX.

DATA: RE TYPE TABLE OF BAPIRET2

WITH HEADER LINE.

PO_NO

= '9000000024'.

PO_HEADER-COLLECT_NO = 1234. PO_HEADERX-COLLECT_NO = 'X'.

CALL FUNCTION 'BAPI_PO_CHANGE' EXPORTING purchaseorder POHEADER POHEADERX * * * * * * * * POADDRVENDOR TESTRUN MEMORY_UNCOMPLETE MEMORY_COMPLETE POEXPIMPHEADER POEXPIMPHEADERX VERSIONS IMPORTING = PO_NO = PO_HEADER = PO_HEADERX = = = = = = =

* *

EXPHEADER EXPPOEXPIMPHEADER TABLES RETURN

= =

= = = = = = = = = = = = = = = = = = = = = = = = =

RE

* * * * * * * * * * * * * * * * * * * * * * * *

POITEM POITEMX POADDRDELIVERY POSCHEDULE POSCHEDULEX POACCOUNT POACCOUNTPROFITSEGMENT POACCOUNTX POCONDHEADER POCONDHEADERX POCOND POCONDX POLIMITS POCONTRACTLIMITS POSERVICES POSRVACCESSVALUES POSERVICESTEXT EXTENSIONIN EXTENSIONOUT POEXPIMPITEM POEXPIMPITEMX POTEXTHEADER POTEXTITEM ALLVERSIONS

* .

POPARTNER

LOOP AT RE. WRITE:/ RE-TYPE,RE-ID,RE-NUMBER,RE-MESSAGE. ENDLOOP.

Pro-17

*&---------------------------------------------------------------------* *& Report *& ZHN_BDC * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZHN_BDC

DATA: SALE TYPE BAPIVBELN-VBELN, SALE_HEADER TYPE BAPISDH1, SALE_HEADERX TYPE BAPISDH1X.

SALE = '0000005473'.

SALE_HEADER-NAME = 'SABHA'. SALE_HEADERX-UPDATEFLAG = 'U'. SALE_HEADERX-NAME = 'X'.

DATA RE TYPE BAPIRET2 OCCURS 0 WITH HEADER LINE.

CALL FUNCTION 'BAPI_SALESORDER_CHANGE' EXPORTING salesdocument ORDER_HEADER_IN order_header_inx * * * * SIMULATION BEHAVE_WHEN_ERROR INT_NUMBER_ASSIGNMENT LOGIC_SWITCH tables return * * * * * * * * * * * * * * * ORDER_ITEM_IN ORDER_ITEM_INX PARTNERS PARTNERCHANGES PARTNERADDRESSES ORDER_CFGS_REF ORDER_CFGS_INST ORDER_CFGS_PART_OF ORDER_CFGS_VALUE ORDER_CFGS_BLOB ORDER_CFGS_VK ORDER_CFGS_REFINST SCHEDULE_LINES SCHEDULE_LINESX ORDER_TEXT = RE = = = = = = = = = = = = = = = = SALE = SALE_HEADER = SALE_HEADERX = = ' ' = ' ' =

* * * *

ORDER_KEYS CONDITIONS_IN CONDITIONS_INX EXTENSIONIN .

= = = =

LOOP AT RE. WRITE:/ RE-TYPE,RE-ID,RE-NUMBER,RE-MESSAGE. ENDLOOP.

Program-18 *&---------------------------------------------------------------------* *& Report *& ZBDC1 * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

zbdc1

TYPES: BEGIN OF str, program TYPE bdcdata-program, dynpro TYPE bdcdata-dynpro, dynbegin TYPE bdcdata-dynbegin, fnam TYPE bdcdata-fnam, fval TYPE bdcdata-fval, END OF str.

DATA itab TYPE TABLE OF str WITH HEADER LINE. DATA: PO_HEADER TYPE BAPIMEPOHEADER. DATA PO_HEADERX TYPE BAPIMEPOHEADERX. DATA: BEGIN OF itab1 OCCURS 0, PO_NO TYPE MEPO_SELECT-EBELN, COLLECT_NO TYPE MEPO1229-SUBMI, END OF itab1.

DATA itab2 LIKE TABLE OF bdcmsgcoll WITH HEADER LINE..

* * * * * * * *

ITAB1-VNO = '4920'. ITAB1-STREET = 'CHENNAI'. APPEND ITAB1.

ITAB1-VNO = '603'. ITAB1-STREET = 'TRICHY'. APPEND ITAB1.

CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = 'C:\DATA.TXT'

filetype has_field_separator * * * * * * TABLES data_tab * * * * * * * * * * * * * * * * * *

= 'ASC' = '#' HEADER_LENGTH READ_BY_LINE DAT_MODE IMPORTING FILELENGTH HEADER = = = 0 = 'X' = ' '

= itab1 EXCEPTIONS FILE_OPEN_ERROR FILE_READ_ERROR NO_BATCH GUI_REFUSE_FILETRANSFER INVALID_TYPE NO_AUTHORITY UNKNOWN_ERROR BAD_DATA_FORMAT HEADER_NOT_ALLOWED SEPARATOR_NOT_ALLOWED HEADER_TOO_LONG UNKNOWN_DP_ERROR ACCESS_DENIED DP_OUT_OF_MEMORY DISK_FULL DP_TIMEOUT OTHERS = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10 = 11 = 12 = 13 = 14 = 15 = 16 = 17

. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * ENDIF. * * * * ITAB1-VNO = '604'. ITAB1-STREET = 'MADURAI'. APPEND ITAB1. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*CALL FUNCTION 'BDC_OPEN_GROUP' * EXPORTING * ** * ** * * ** * client DEST group HOLDDATE keep user RECORD prog = sy-mandt = FILLER8 = 'SESSION1' = FILLER8 = 'X' = sy-uname = FILLER1 = sy-cprog

** IMPORTING ** QID =

* EXCEPTIONS * * * * client_invalid destination_invalid group_invalid group_is_locked = 1 = 2 = 3 = 4

* * * * * * * *

holddate_invalid internal_error queue_error running system_lock_error user_invalid OTHERS .

= 5 = 6 = 7 = 8 = 9 = 10 = 11

*IF sy-subrc <> 0. * * *ENDIF. LOOP AT itab1. * * * * * * * * * * * * * * * APPEND itab. CLEAR itab. itab-fnam = 'BDC_OKCODE'. itab-fval = '=MECHOB'. itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

* * * * * * * * * * * * * * * * * * * * * * * * * * * *

itab-program = 'SAPLMEGUI'. itab-dynpro = '0002'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab.

itab-fnam = 'BDC_OKCODE'. itab-fval = '=MEOK'..

APPEND itab. CLEAR itab.

itab-fnam = 'MEPO_SELECT-EBELN'. itab-fval = ITAB1-PO_NO..

APPEND itab. CLEAR itab. itab-fnam = 'MEPO_SELECT-BSTYP_F'. itab-fval = 'X'.

APPEND itab. CLEAR itab.

itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab.

* * * * * * * * * * * * * * * * * * * * * * * * * * * *

CLEAR itab.

itab-fnam = 'BDC_OKCODE'. itab-fval = '=METOGG'..

APPEND itab. CLEAR itab.

itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab.

itab-fnam = 'BDC_OKCODE'. itab-fval = '=TABHDT8'..

APPEND itab. CLEAR itab.

itab-fnam = 'DYN_6000-LIST'. itab-fval = ' '..

APPEND itab. CLEAR itab.

itab-fnam = 'MEPO1319-SPINF'. itab-fval = 'X'..

* * * * * * * * * * * * * * * * * * * * * * * * * * * * itab-fnam = 'DYN_6000-LIST'. itab-fval = ' '.. APPEND itab. CLEAR itab. itab-fnam = 'MEPO1229-SUBMI'. itab-fval = ITAB1-COLLECT_NO. APPEND itab. CLEAR itab. itab-fnam = 'BDC_OKCODE'. itab-fval = '=MESAVE'.. itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab. APPEND itab. CLEAR itab.

* * * * * * * * * * * * ** ** ** ** * * ** ** ** ** ** ** ** ** * *

APPEND itab. clear itab. itab-fnam = 'MEPO1319-SPINF'. itab-fval = 'X'..

APPEND itab. clear itab.

call function 'BDC_INSERT' exporting tcode POST_LOCAL PRINTING SIMUBATCH CTUPARAMS tables dynprotab EXCEPTIONS INTERNAL_ERROR NOT_OPEN QUEUE_ERROR TCODE_INVALID PRINTING_INVALID POSTING_INVALID OTHERS . IF sy-subrc <> 0. = 1 = 2 = 3 = 4 = 5 = 6 = 7 = itab = 'ME22N' = NOVBLOCAL = NOPRINT = ' ' = ' '

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** * * ENDIF. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*CALL TRANSACTION 'ME22N' USING ITAB MODE 'A'. *LOOP AT ITAB2. *WRITE:/ ITAB2-TCODE, ITAB2-MSGV2, ITAB2-MSGV3, ITAB2-MSGV4. * *ENDLOOP. * REFRESH itab.

PO_HEADER-COLLECT_NO = ITAB1-COLLECT_NO. PO_HEADERX-COLLECT_NO = 'X'. CALL FUNCTION 'BAPI_PO_CHANGE' EXPORTING purchaseorder POHEADER POHEADERX * * * * * * * POADDRVENDOR TESTRUN MEMORY_UNCOMPLETE MEMORY_COMPLETE POEXPIMPHEADER POEXPIMPHEADERX VERSIONS = ITAB1-PO_NO = PO_HEADER = PO_HEADERX = = = = = = =

* IMPORTING * EXPHEADER =

EXPPOEXPIMPHEADER

* TABLES RETURN * * * * * * * * * * * * * * * * * * * * * * * * * POITEM POITEMX POADDRDELIVERY POSCHEDULE POSCHEDULEX POACCOUNT POACCOUNTPROFITSEGMENT POACCOUNTX POCONDHEADER POCONDHEADERX POCOND POCONDX POLIMITS POCONTRACTLIMITS POSERVICES POSRVACCESSVALUES POSERVICESTEXT EXTENSIONIN EXTENSIONOUT POEXPIMPITEM POEXPIMPITEMX POTEXTHEADER POTEXTITEM ALLVERSIONS POPARTNER = = = = = = = = = = = = = = = = = = = = = = = = = =

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' * EXPORTING * WAIT =

* IMPORTING * RETURN . =

ENDLOOP.

*CALL FUNCTION 'BDC_CLOSE_GROUP' ** EXCEPTIONS ** ** ** * NOT_OPEN QUEUE_ERROR OTHERS . = 1 = 2 = 3

*IF sy-subrc <> 0. ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** *ENDIF. Program-19 *&---------------------------------------------------------------------* *& Report *& ZABAP * * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZABAP

types: begin of str, slno type c, sname type string, subject type string, marks type i, end of str. data sum type i. data itab type table of str with header line. data s type string..

itab-slno = 1. itab-sname = 'raja'. itab-subject = 'eng'. itab-marks = 100. append itab.

itab-slno = 2. itab-sname = 'ravi'. itab-subject = 'tam'. itab-marks = 50. append itab.

itab-slno = 3. itab-sname = 'ram'.

itab-subject = 'sci'. itab-marks = 35. append itab.

itab-slno = 1. itab-sname = 'raja'. itab-subject = 'sci'. itab-marks = 100. append itab.

itab-slno = 2. itab-sname = 'ravi'. itab-subject = 'eng'. itab-marks = 40. append itab.

itab-slno = 3. itab-sname = 'ram'. itab-subject = 'tam'. itab-marks = 30. append itab.

itab-slno = 1. itab-sname = 'raja'. itab-subject = 'tam'. itab-marks = 20. append itab.

itab-slno = 2. itab-sname = 'ravi'. itab-subject = 'sci'. itab-marks = 40. append itab.

itab-slno = 3. itab-sname = 'ram'. itab-subject = 'eng'. itab-marks = 100. append itab.

itab-slno = 1. itab-sname = 'raja'. itab-subject = 'eng'. itab-marks = 10. append itab.

itab-slno = 2. itab-sname = 'ravi'. itab-subject = 'tam'. itab-marks = 20. append itab.

itab-slno = 3. itab-sname = 'ram'. itab-subject = 'sci'. itab-marks = 100.

append itab.

* * * * * * * * * * * * * * * * * * * * * * * at last. at end of sname. sum. write:/ itab-marks. endat. at new subject. write:/ itab-subject. endat. write: itab-marks. at new sname. write:/ itab-slno, itab-sname. endat. at first. write: 'ABAP'. endat. sort itab. loop at itab.

* * * * *

sum. write:/ 'grandtotal' , itab-marks. endat.

endloop.

sort itab by slno. loop at itab.

write:/ itab-slno, itab-sname, itab-subject, itab-marks. if s ne itab-sname. uline. else. endif. *at end of sname. * * * * endat. uline.

s = itab-sname.

* * * * * s = s mod 2.

if s ne 0. uline. else.

* * * *

uline. uline. endif. s = s + 1. endloop.

Program-20
*&---------------------------------------------------------------------* *& Report ZHN_BDC * *& * *&---------------------------------------------------------------------* *& * *& * *&---------------------------------------------------------------------* REPORT ZHN_BDC . DATA: SALE TYPE BAPIVBELN-VBELN, SALE_HEADER TYPE BAPISDH1, SALE_HEADERX TYPE BAPISDH1X. SALE = '0000005473'. SALE_HEADER-NAME = 'SABHA'. SALE_HEADERX-UPDATEFLAG = 'U'. SALE_HEADERX-NAME = 'X'. DATA RE TYPE BAPIRET2 OCCURS 0 WITH HEADER LINE. CALL FUNCTION 'BAPI_SALESORDER_CHANGE' EXPORTING salesdocument = SALE ORDER_HEADER_IN = SALE_HEADER order_header_inx = SALE_HEADERX * SIMULATION = * BEHAVE_WHEN_ERROR = ' ' * INT_NUMBER_ASSIGNMENT = ' ' * LOGIC_SWITCH = tables return = RE * ORDER_ITEM_IN = * ORDER_ITEM_INX = * PARTNERS = * PARTNERCHANGES = * PARTNERADDRESSES = * ORDER_CFGS_REF = * ORDER_CFGS_INST = * ORDER_CFGS_PART_OF = * ORDER_CFGS_VALUE = * ORDER_CFGS_BLOB = * ORDER_CFGS_VK = * ORDER_CFGS_REFINST = * SCHEDULE_LINES = * SCHEDULE_LINESX =

* * * * *

ORDER_TEXT ORDER_KEYS CONDITIONS_IN CONDITIONS_INX EXTENSIONIN .

= = = = =

LOOP AT RE. WRITE:/ RE-TYPE,RE-ID,RE-NUMBER,RE-MESSAGE. ENDLOOP.

Program-21 *&---------------------------------------------------------------------* *& Report *& ZBDC1 * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZBDC1

types: BEGIN OF str, program TYPE bdcdata-program, dynpro TYPE bdcdata-dynpro, dynbegin TYPE bdcdata-dynbegin, fnam TYPE bdcdata-fnam, fval TYPE bdcdata-fval, END OF str.

data itab type table of str with header line.

DATA: BEGIN OF ITAB1 OCCURS 0, VNO TYPE LFA1-LIFNR,

STREET

TYPE LFA1-STRAS,

END OF ITAB1.

* * * * * * * *

ITAB1-VNO = '4920'. ITAB1-STREET = 'CHENNAI'. APPEND ITAB1.

ITAB1-VNO = '603'. ITAB1-STREET = 'TRICHY'. APPEND ITAB1.

CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename FILETYPE HAS_FIELD_SEPARATOR * * * * * * HEADER_LENGTH READ_BY_LINE DAT_MODE IMPORTING FILELENGTH HEADER tables data_tab * * * * EXCEPTIONS FILE_OPEN_ERROR FILE_READ_ERROR NO_BATCH = 1 = 2 = 3 = ITAB1 = = = 'C:\TEXT.TXT' = 'ASC' = '#' = 0 = 'X' = ' '

* * * * * * * * * * * * * *

GUI_REFUSE_FILETRANSFER INVALID_TYPE NO_AUTHORITY UNKNOWN_ERROR BAD_DATA_FORMAT HEADER_NOT_ALLOWED SEPARATOR_NOT_ALLOWED HEADER_TOO_LONG UNKNOWN_DP_ERROR ACCESS_DENIED DP_OUT_OF_MEMORY DISK_FULL DP_TIMEOUT OTHERS . IF sy-subrc <> 0.

= 4 = 5 = 6 = 7 = 8 = 9 = 10 = 11 = 12 = 13 = 14 = 15 = 16 = 17

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. * * * * ITAB1-VNO = '604'. ITAB1-STREET = 'MADURAI'. APPEND ITAB1.

LOOP AT ITAB1.

itab-program = 'SAPMF02K'.

ITAB-DYNPRO = '0101'. ITAB-DYNBEGIN = 'X'. APPEND ITAB. CLEAR ITAB.

ITAB-FNAM = 'BDC_OKCODE'. ITAB-FVAL = '/00'.

APPEND ITAB. CLEAR ITAB.

ITAB-FNAM = 'RF02K-LIFNR'. ITAB-FVAL = ITAB1-VNO.

APPEND ITAB. CLEAR ITAB.

ITAB-FNAM = 'RF02K-D0110'. ITAB-FVAL = 'X'..

APPEND ITAB. CLEAR ITAB.

itab-program = 'SAPMF02K'. ITAB-DYNPRO = '0110'. ITAB-DYNBEGIN = 'X'.

APPEND ITAB. CLEAR ITAB.

ITAB-FNAM = 'BDC_OKCODE'. ITAB-FVAL = '=UPDA'..

APPEND ITAB. CLEAR ITAB.

ITAB-FNAM = 'LFA1-STRAS'. ITAB-FVAL = ITAB1-STREET..

APPEND ITAB. CLEAR ITAB.

CALL TRANSACTION 'XK02' USING ITAB. REFRESH ITAB. ENDLOOP.

Program-22 **&--------------------------------------------------------------------** **& Report ** **& ** **&--------------------------------------------------------------------ZMA_EX02

** **& ** **& ** **&--------------------------------------------------------------------** * REPORT ZMA_EX02 .

*DATA: BEGIN OF STUD_LIST OCCURS 0, * * * * * * *DATA: MIN TYPE I VALUE 0, MAX TYPE I VALUE 0, F TYPE I VALUE 1, * * * *STUD_LIST-SNO = 1. *STUD_LIST-SNAME = 'AZHAR'. *STUD_LIST-SAGE = 20. *APPEND STUD_LIST. * *STUD_LIST-SNO = 2. *STUD_LIST-SNAME = 'DFDE'. *STUD_LIST-SAGE = 20. COUNT(4) TYPE C. SNO TYPE I, SNAME(10) TYPE C, SAGE TYPE I, END OF STUD_LIST,

CPY_SAGE LIKE STUD_LIST-SAGE.

*APPEND STUD_LIST. * *STUD_LIST-SNO = 3. *STUD_LIST-SNAME = 'GGGGG'. *STUD_LIST-SAGE = 20. *APPEND STUD_LIST. * *STUD_LIST-SNO = 8. *STUD_LIST-SNAME = 'JKHJK'. *STUD_LIST-SAGE = 80. *APPEND STUD_LIST. * *STUD_LIST-SNO = 7. *STUD_LIST-SNAME = 'DD'. *STUD_LIST-SAGE = 90. *APPEND STUD_LIST. * *STUD_LIST-SNO = 4. *STUD_LIST-SNAME = 'DFDF'. *STUD_LIST-SAGE = 30. *APPEND STUD_LIST. * *STUD_LIST-SNO = 5. *STUD_LIST-SNAME = 'GGG'. *STUD_LIST-SAGE = 20. *APPEND STUD_LIST. * *STUD_LIST-SNO = 6.

*STUD_LIST-SNAME = 'FFFF'. *STUD_LIST-SAGE = 90. *APPEND STUD_LIST. * *STUD_LIST-SNO = 9. *STUD_LIST-SNAME = 'HHH'. *STUD_LIST-SAGE = 60. *APPEND STUD_LIST. * * *STUD_LIST-SNO = 10. *STUD_LIST-SNAME = 'HHH'. *STUD_LIST-SAGE = 90. *APPEND STUD_LIST. * * *SORT STUD_LIST BY SAGE. *DESCRIBE TABLE STUD_LIST LINES COUNT.

*READ TABLE STUD_LIST INDEX COUNT. *MAX = STUD_LIST-SAGE. * * * **LOOP AT STUD_LIST. **CPY_SAGE = STUD_LIST-SAGE. ** **AT FIRST. ** MIN = CPY_SAGE.

**ENDAT. ** **IF MIN EQ STUD_LIST-SAGE. ** WRITE:/ STUD_LIST-SNO,STUD_LIST-SNAME,STUD_LIST-SAGE. **ENDIF. ** **IF MAX EQ STUD_LIST-SAGE. ** WRITE:/ STUD_LIST-SNO,STUD_LIST-SNAME,STUD_LIST-SAGE. **ENDIF. **ENDLOOP. **

DATA: FIELD TYPE KNA1-KUNNR. SELECT-OPTIONS SEL FOR FIELD.

* * * *

SEL-SIGN = 'I'. SEL-OPTION = 'EQ'. SEL-LOW SEL-HIGH = 1.1 = 1000.

" LOOP AT SEL. WRITE: / 'SIGN', SEL-SIGN, 'OPTION', SEL-OPTION, 'LOW', SEL-LOW, 'HIGH', SEL-HIGH. " ENDLOOP.

*&---------------------------------------------------------------

------* *& Report * *& * *&--------------------------------------------------------------------* *& * *& * *&--------------------------------------------------------------------* ZBDC1

REPORT

zbdc1

TYPES: BEGIN OF str, program TYPE bdcdata-program, dynpro TYPE bdcdata-dynpro, dynbegin TYPE bdcdata-dynbegin, fnam TYPE bdcdata-fnam, fval TYPE bdcdata-fval, END OF str.

DATA itab TYPE TABLE OF str WITH HEADER LINE. DATA: PO_HEADER TYPE BAPIMEPOHEADER. DATA PO_HEADERX TYPE BAPIMEPOHEADERX. DATA: BEGIN OF itab1 OCCURS 0, PO_NO TYPE MEPO_SELECT-EBELN, COLLECT_NO TYPE MEPO1229-SUBMI,

END OF itab1.

DATA itab2 LIKE TABLE OF bdcmsgcoll WITH HEADER LINE..

* * * * * * * *

ITAB1-VNO = '4920'. ITAB1-STREET = 'CHENNAI'. APPEND ITAB1.

ITAB1-VNO = '603'. ITAB1-STREET = 'TRICHY'. APPEND ITAB1.

CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename filetype has_field_separator * * * = 'C:\DATA.TXT' = 'ASC' = '#' HEADER_LENGTH READ_BY_LINE DAT_MODE = 0 = 'X' = ' '

* * * TABLES data_tab * * * * * * * * * * * * * * * * * * . IF sy-subrc <> 0.

IMPORTING FILELENGTH HEADER = =

= itab1 EXCEPTIONS FILE_OPEN_ERROR FILE_READ_ERROR NO_BATCH GUI_REFUSE_FILETRANSFER INVALID_TYPE NO_AUTHORITY UNKNOWN_ERROR BAD_DATA_FORMAT HEADER_NOT_ALLOWED SEPARATOR_NOT_ALLOWED HEADER_TOO_LONG UNKNOWN_DP_ERROR ACCESS_DENIED DP_OUT_OF_MEMORY DISK_FULL DP_TIMEOUT OTHERS = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10 = 11 = 12 = 13 = 14 = 15 = 16 = 17

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF. * * * * ITAB1-VNO = '604'. ITAB1-STREET = 'MADURAI'. APPEND ITAB1.

*CALL FUNCTION 'BDC_OPEN_GROUP' * EXPORTING * ** * ** * * ** * client DEST group HOLDDATE keep user RECORD prog = sy-mandt = FILLER8 = 'SESSION1' = FILLER8 = 'X' = sy-uname = FILLER1 = sy-cprog

** IMPORTING ** QID =

* EXCEPTIONS * * * * * * * client_invalid destination_invalid group_invalid group_is_locked holddate_invalid internal_error queue_error = 1 = 2 = 3 = 4 = 5 = 6 = 7

* * * * *

running system_lock_error user_invalid OTHERS .

= 8 = 9 = 10 = 11

*IF sy-subrc <> 0. * * *ENDIF. LOOP AT itab1. * * * * * * * * * * * * * * * * * itab-program = 'SAPLMEGUI'. itab-dynpro = '0002'. APPEND itab. CLEAR itab. itab-fnam = 'BDC_OKCODE'. itab-fval = '=MECHOB'. itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

* * * * * * * * * * * * * * * * * * * * * * * * * * *

itab-dynbegin = 'X'. APPEND itab. CLEAR itab.

itab-fnam = 'BDC_OKCODE'. itab-fval = '=MEOK'..

APPEND itab. CLEAR itab.

itab-fnam = 'MEPO_SELECT-EBELN'. itab-fval = ITAB1-PO_NO..

APPEND itab. CLEAR itab. itab-fnam = 'MEPO_SELECT-BSTYP_F'. itab-fval = 'X'.

APPEND itab. CLEAR itab.

itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab.

* * * * * * * * * * * * * * * * * * * * * * * * * * * itab-fnam = 'MEPO1319-SPINF'. itab-fval = 'X'.. APPEND itab. CLEAR itab. itab-fnam = 'DYN_6000-LIST'. itab-fval = ' '.. APPEND itab. CLEAR itab. itab-fnam = 'BDC_OKCODE'. itab-fval = '=TABHDT8'.. itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab. APPEND itab. CLEAR itab. itab-fnam = 'BDC_OKCODE'. itab-fval = '=METOGG'..

* * * * * * * * * * * * * * * * * * * * * * * * * * * itab-fnam = 'DYN_6000-LIST'. itab-fval = ' '.. APPEND itab. CLEAR itab. itab-fnam = 'MEPO1229-SUBMI'. itab-fval = ITAB1-COLLECT_NO. APPEND itab. CLEAR itab. itab-fnam = 'BDC_OKCODE'. itab-fval = '=MESAVE'.. itab-program = 'SAPLMEGUI'. itab-dynpro = '0014'. itab-dynbegin = 'X'. APPEND itab. CLEAR itab. APPEND itab. CLEAR itab.

* * * * * * * * * * * * * ** ** ** ** * * ** ** ** ** ** ** ** ** tables dynprotab EXCEPTIONS INTERNAL_ERROR NOT_OPEN QUEUE_ERROR TCODE_INVALID PRINTING_INVALID POSTING_INVALID OTHERS = 1 = 2 = 3 = 4 = 5 = 6 = 7 = itab call function 'BDC_INSERT' exporting tcode POST_LOCAL PRINTING SIMUBATCH CTUPARAMS = 'ME22N' = NOVBLOCAL = NOPRINT = ' ' = ' ' APPEND itab. clear itab. APPEND itab. clear itab. itab-fnam = 'MEPO1319-SPINF'. itab-fval = 'X'..

* *

. IF sy-subrc <> 0.

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** * * ENDIF. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*CALL TRANSACTION 'ME22N' USING ITAB MODE 'A'. *LOOP AT ITAB2. *WRITE:/ ITAB2-TCODE, ITAB2-MSGV2, ITAB2-MSGV3, ITAB2-MSGV4. * *ENDLOOP. * REFRESH itab.

PO_HEADER-COLLECT_NO = ITAB1-COLLECT_NO. PO_HEADERX-COLLECT_NO = 'X'. CALL FUNCTION 'BAPI_PO_CHANGE' EXPORTING purchaseorder POHEADER POHEADERX * * * * * * POADDRVENDOR TESTRUN MEMORY_UNCOMPLETE MEMORY_COMPLETE POEXPIMPHEADER POEXPIMPHEADERX = ITAB1-PO_NO = PO_HEADER = PO_HEADERX = = = = = =

VERSIONS

* IMPORTING * * EXPHEADER EXPPOEXPIMPHEADER = =

* TABLES RETURN * * * * * * * * * * * * * * * * * * * * * POITEM POITEMX POADDRDELIVERY POSCHEDULE POSCHEDULEX POACCOUNT POACCOUNTPROFITSEGMENT POACCOUNTX POCONDHEADER POCONDHEADERX POCOND POCONDX POLIMITS POCONTRACTLIMITS POSERVICES POSRVACCESSVALUES POSERVICESTEXT EXTENSIONIN EXTENSIONOUT POEXPIMPITEM POEXPIMPITEMX = = = = = = = = = = = = = = = = = = = = = =

* * * *

POTEXTHEADER POTEXTITEM ALLVERSIONS POPARTNER .

= = = =

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' * EXPORTING * WAIT =

* IMPORTING * RETURN . =

ENDLOOP.

*CALL FUNCTION 'BDC_CLOSE_GROUP' ** EXCEPTIONS ** ** ** * NOT_OPEN QUEUE_ERROR OTHERS . = 1 = 2 = 3

*IF sy-subrc <> 0. ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** *ENDIF. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

Program-22

*&---------------------------------------------------------------------* *& Report *& ZREAD * *

*&---------------------------------------------------------------------* *& *& * *

*&---------------------------------------------------------------------*

REPORT

ZREAD

DATA: BEGIN OF itab_final occurs 0, ebeln TYPE ekpo-ebeln, ebelp TYPE ekpo-ebelp, matnr TYPE ekpo-matnr,

aedat TYPE ekko-aedat, lifnr TYPE lfa1-lifnr, kunnr TYPE ekpo-kunnr, ernam TYPE mara-ernam, END OF itab_final.

DATA: BEGIN OF it_ekko occurs 0, ebeln TYPE ekko-ebeln, aedat TYPE ekko-aedat, END OF it_ekko.

DATA: BEGIN OF it_lfa1 occurs 0, lifnr TYPE lfa1-lifnr,

kunnr TYPE lfa1-kunnr, END OF it_lfa1.

DATA: BEGIN OF it_mara occurs 0, matnr TYPE mara-matnr, ernam TYPE mara-ernam, END OF it_mara.

select ebeln ebelp matnr fields of table itab_final.

kunnr from ekpo into corresponding

select ebeln aedat from ekko into corresponding fields of table it_ekko.

select lifnr kunnr from lfa1 into corresponding fields of table it_lfa1. select matnr ernam from mara into corresponding fields of table it_mara.

loop at itab_final. read table it_ekko with key ebeln = itab_final-ebeln. itab_final-aedat = it_ekko-aedat. modify itab_final.

endloop.

loop at itab_final. read table it_lfa1 with key kunnr = itab_final-kunnr. itab_final-lifnr = it_lfa1-lifnr. modify itab_final.

endloop.

loop at itab_final. read table it_mara with key matnr = itab_final-matnr. itab_final-ernam = it_mara-ernam. modify itab_final.

endloop.

loop at itab_final.

write:/ 'ebeln', 20 'ebelp', 40 'matnr', 60 'aedat', 80 'lifnr', 100 'kunnr'.

endloop.

loop at itab_final.

write:/ itab_final-ebeln, itab_final-ebelp, itab_final-matnr, itab_final-aedat, itab_final-lifnr, itab_final-kunnr.

endloop.

Pro-23

You might also like