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.

Programs

Embed Size (px)

DESCRIPTION

Programs

Citation preview

Page 1: Programs

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.

Page 2: Programs

*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.

Page 3: Programs

* 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 *

*& *

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

*& *

*& *

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

Page 4: Programs

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 =

Page 5: Programs

* 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 .

Page 6: Programs

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 = 'ASC'

has_field_separator = '#'

* HEADER_LENGTH = 0

* READ_BY_LINE = 'X'

Page 7: Programs

* DAT_MODE = ' '

* IMPORTING

* FILELENGTH =

* HEADER =

TABLES

data_tab = itab1

* EXCEPTIONS

* FILE_OPEN_ERROR = 1

* FILE_READ_ERROR = 2

* NO_BATCH = 3

* GUI_REFUSE_FILETRANSFER = 4

* INVALID_TYPE = 5

* NO_AUTHORITY = 6

* UNKNOWN_ERROR = 7

* BAD_DATA_FORMAT = 8

* HEADER_NOT_ALLOWED = 9

* SEPARATOR_NOT_ALLOWED = 10

* HEADER_TOO_LONG = 11

* UNKNOWN_DP_ERROR = 12

* ACCESS_DENIED = 13

* DP_OUT_OF_MEMORY = 14

* DISK_FULL = 15

* DP_TIMEOUT = 16

* OTHERS = 17

.

IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

Page 8: Programs

ENDIF.

* ITAB1-VNO = '604'.

* ITAB1-STREET = 'MADURAI'.

* APPEND ITAB1.

*

*CALL FUNCTION 'BDC_OPEN_GROUP'

* EXPORTING

* client = sy-mandt

** DEST = FILLER8

* group = 'SESSION1'

** HOLDDATE = FILLER8

* keep = 'X'

* user = sy-uname

** RECORD = FILLER1

* prog = sy-cprog

** IMPORTING

** QID =

* EXCEPTIONS

* client_invalid = 1

* destination_invalid = 2

* group_invalid = 3

* group_is_locked = 4

* holddate_invalid = 5

* internal_error = 6

* queue_error = 7

* running = 8

* system_lock_error = 9

* user_invalid = 10

Page 9: Programs

* OTHERS = 11

* .

*IF sy-subrc <> 0.

* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

*ENDIF.

LOOP AT itab1.

*

* itab-program = 'SAPLMEGUI'.

* itab-dynpro = '0014'.

* itab-dynbegin = 'X'.

* APPEND itab.

* CLEAR itab.

*

* itab-fnam = 'BDC_OKCODE'.

* itab-fval = '=MECHOB'.

*

*

* APPEND itab.

* CLEAR itab.

*

*

* itab-program = 'SAPLMEGUI'.

* itab-dynpro = '0002'.

* itab-dynbegin = 'X'.

* APPEND itab.

* CLEAR itab.

*

Page 10: Programs

* 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.

Page 11: Programs

* 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'.

Page 12: Programs

* 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.

*

Page 13: Programs

*

* call function 'BDC_INSERT'

* exporting

* tcode = 'ME22N'

** POST_LOCAL = NOVBLOCAL

** PRINTING = NOPRINT

** SIMUBATCH = ' '

** CTUPARAMS = ' '

* tables

* dynprotab = itab

** EXCEPTIONS

** INTERNAL_ERROR = 1

** NOT_OPEN = 2

** QUEUE_ERROR = 3

** TCODE_INVALID = 4

** PRINTING_INVALID = 5

** POSTING_INVALID = 6

** OTHERS = 7

* .

* IF sy-subrc <> 0.

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

* ENDIF.

*

*CALL TRANSACTION 'ME22N' USING ITAB MODE 'A'.

*LOOP AT ITAB2.

*WRITE:/ ITAB2-TCODE, ITAB2-MSGV2, ITAB2-MSGV3, ITAB2-MSGV4.

*

Page 14: Programs

*ENDLOOP.

* REFRESH itab.

PO_HEADER-COLLECT_NO = ITAB1-COLLECT_NO.

PO_HEADERX-COLLECT_NO = 'X'.

CALL FUNCTION 'BAPI_PO_CHANGE'

EXPORTING

purchaseorder = ITAB1-PO_NO

POHEADER = PO_HEADER

POHEADERX = PO_HEADERX

* POADDRVENDOR =

* TESTRUN =

* MEMORY_UNCOMPLETE =

* MEMORY_COMPLETE =

* POEXPIMPHEADER =

* POEXPIMPHEADERX =

* VERSIONS =

* IMPORTING

* EXPHEADER =

* EXPPOEXPIMPHEADER =

* TABLES

RETURN =

* POITEM =

* POITEMX =

* POADDRDELIVERY =

* POSCHEDULE =

* POSCHEDULEX =

* POACCOUNT =

* POACCOUNTPROFITSEGMENT =

Page 15: Programs

* 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.

Page 16: Programs

*CALL FUNCTION 'BDC_CLOSE_GROUP'

** EXCEPTIONS

** NOT_OPEN = 1

** QUEUE_ERROR = 2

** OTHERS = 3

* .

*IF sy-subrc <> 0.

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*ENDIF.

PROGRAM-4

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

*& Report ZAZHLOK_STUDDETAIL *

*& *

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

*& *

*& *

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

REPORT ZAZHLOK_STUDDETAIL .

DATA: BEGIN OF FI_TAB OCCURS 0,

STUD_NO TYPE I,

NAME(15) TYPE C,

SUBJECT(15) TYPE C,

MARKS TYPE I,

END OF FI_TAB.

Page 17: Programs

DATA: BEGIN OF STUD_DETAILS OCCURS 0,

STUD_NO TYPE I,

NAME(15) TYPE C,

END OF STUD_DETAILS.

DATA: BEGIN OF MARK_DETAILS OCCURS 0,

STUD_NO TYPE I,

SUBJECT(15) TYPE C,

MARKS TYPE I,

END OF 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 = 100.

APPEND MARK_DETAILS.

MARK_DETAILS-STUD_NO = 2. MARK_DETAILS-SUBJECT = 'TAMIL'.

MARK_DETAILS-MARKS = 80.

APPEND MARK_DETAILS.

MARK_DETAILS-STUD_NO = 3. MARK_DETAILS-SUBJECT = 'ENGLISH'.

Page 18: Programs

MARK_DETAILS-MARKS = 30.

APPEND MARK_DETAILS.

MARK_DETAILS-STUD_NO = 4. MARK_DETAILS-SUBJECT = 'ENGLISH'.

MARK_DETAILS-MARKS = 40.

APPEND MARK_DETAILS.

MARK_DETAILS-STUD_NO = 5. MARK_DETAILS-SUBJECT = 'SCIENCE'.

MARK_DETAILS-MARKS = 200.

APPEND MARK_DETAILS.

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.

Page 19: Programs

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,

Page 20: Programs

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.

Page 21: Programs

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'.

*

Page 22: Programs

*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',

Page 23: Programs

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,

Page 24: Programs

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'.

Page 25: Programs

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.

Page 26: Programs

write:/ student-studno, student-studname, student-subject, student-marks.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.

Page 27: Programs

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 = 'C:\TEXT.TXT'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = '#'

* HEADER_LENGTH = 0

* READ_BY_LINE = 'X'

* DAT_MODE = ' '

* IMPORTING

* FILELENGTH =

* HEADER =

tables

data_tab = ITAB1

* EXCEPTIONS

Page 28: Programs

* FILE_OPEN_ERROR = 1

* FILE_READ_ERROR = 2

* NO_BATCH = 3

* GUI_REFUSE_FILETRANSFER = 4

* INVALID_TYPE = 5

* NO_AUTHORITY = 6

* UNKNOWN_ERROR = 7

* BAD_DATA_FORMAT = 8

* HEADER_NOT_ALLOWED = 9

* SEPARATOR_NOT_ALLOWED = 10

* HEADER_TOO_LONG = 11

* UNKNOWN_DP_ERROR = 12

* ACCESS_DENIED = 13

* DP_OUT_OF_MEMORY = 14

* DISK_FULL = 15

* DP_TIMEOUT = 16

* OTHERS = 17

.

IF sy-subrc <> 0.

* 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.

*

Page 29: Programs

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.

Page 30: Programs

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 -8:

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

*& Report ZREAD *

*& *

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

*& *

*& *

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

REPORT ZREAD .

Page 31: Programs

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.

Page 32: Programs

select ebeln ebelp matnr kunnr from ekpo into corresponding

fields of table itab_final.

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.

Page 33: Programs

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.

Page 34: Programs

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,

Page 35: Programs

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.

Page 36: Programs

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,

* 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.

* SKIP 3.

* SELECT KUNNR NAME1 ORT01 FROM KNA1 INTO CUST_STRU UP TO 10 ROWS.

Page 37: Programs

*

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

*CUST_STRU-NAME1,CUST_STRU-ORT01.

* APPEND CUST_STRU TO ITAB.

* ENDSELECT.

*

* SKIP 3.

*

* LOOP AT ITAB INTO CUST_STRU.

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

*CUST_STRU-NAME1,CUST_STRU-ORT01.

* ENDLOOP.

*

* 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.

Page 38: Programs

*

* READ TABLE ITAB INTO CUST_STRU WITH KEY KUNNR = '110'.

*

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

*,

*CUST_STRU-NAME1,CUST_STRU-ORT01.

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,

Page 39: Programs

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 from ekpo into corresponding

fields of table itab_final.

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

Page 40: Programs

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.

Page 41: Programs

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.

Page 42: Programs

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.

Page 43: Programs

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.

Page 44: Programs

* 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.

Page 45: Programs

Program-15

Po using BAPI

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

*& Report ZLG_BAPI *

*& *

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

*& *

*& *

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

REPORT ZLG_BAPI .

DATA: 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

Page 46: Programs

POHEADER = PO_HEADER

POHEADERX = PO_HEADERX

* POADDRVENDOR =

* TESTRUN =

* MEMORY_UNCOMPLETE =

* MEMORY_COMPLETE =

* POEXPIMPHEADER =

* POEXPIMPHEADERX =

* VERSIONS =

* IMPORTING

* EXPHEADER =AS

* EXPPOEXPIMPHEADER =

TABLES

RETURN = RE

* POITEM =

* POITEMX =

* POADDRDELIVERY =

* POSCHEDULE =

* POSCHEDULEX =

* POACCOUNT =

* POACCOUNTPROFITSEGMENT =

* POACCOUNTX =

* POCONDHEADER =

* POCONDHEADERX =

* POCOND =

* POCONDX =

* POLIMITS =

* POCONTRACTLIMITS =

Page 47: Programs

* 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 *

*& *

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

Page 48: Programs

*& *

*& *

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

REPORT ZLG_BAPI .

DATA: 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 = PO_NO

POHEADER = PO_HEADER

POHEADERX = PO_HEADERX

* POADDRVENDOR =

* TESTRUN =

* MEMORY_UNCOMPLETE =

* MEMORY_COMPLETE =

* POEXPIMPHEADER =

* POEXPIMPHEADERX =

* VERSIONS =

* IMPORTING

Page 49: Programs

* 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 =

Page 50: Programs

* 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.

Page 51: Programs

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 =

Page 52: Programs

* 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.

Page 53: Programs

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'

Page 54: Programs

filetype = 'ASC'

has_field_separator = '#'

* HEADER_LENGTH = 0

* READ_BY_LINE = 'X'

* DAT_MODE = ' '

* IMPORTING

* FILELENGTH =

* HEADER =

TABLES

data_tab = itab1

* EXCEPTIONS

* FILE_OPEN_ERROR = 1

* FILE_READ_ERROR = 2

* NO_BATCH = 3

* GUI_REFUSE_FILETRANSFER = 4

* INVALID_TYPE = 5

* NO_AUTHORITY = 6

* UNKNOWN_ERROR = 7

* BAD_DATA_FORMAT = 8

* HEADER_NOT_ALLOWED = 9

* SEPARATOR_NOT_ALLOWED = 10

* HEADER_TOO_LONG = 11

* UNKNOWN_DP_ERROR = 12

* ACCESS_DENIED = 13

* DP_OUT_OF_MEMORY = 14

* DISK_FULL = 15

* DP_TIMEOUT = 16

* OTHERS = 17

Page 55: Programs

.

IF sy-subrc <> 0.

* 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 = sy-mandt

** DEST = FILLER8

* group = 'SESSION1'

** HOLDDATE = FILLER8

* keep = 'X'

* user = sy-uname

** RECORD = FILLER1

* prog = sy-cprog

** IMPORTING

** QID =

* EXCEPTIONS

* client_invalid = 1

* destination_invalid = 2

* group_invalid = 3

* group_is_locked = 4

Page 56: Programs

* holddate_invalid = 5

* internal_error = 6

* queue_error = 7

* running = 8

* system_lock_error = 9

* user_invalid = 10

* OTHERS = 11

* .

*IF sy-subrc <> 0.

* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

*ENDIF.

LOOP AT itab1.

*

* itab-program = 'SAPLMEGUI'.

* itab-dynpro = '0014'.

* itab-dynbegin = 'X'.

* APPEND itab.

* CLEAR itab.

*

* itab-fnam = 'BDC_OKCODE'.

* itab-fval = '=MECHOB'.

*

*

* APPEND itab.

* CLEAR itab.

*

*

Page 57: Programs

* 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.

Page 58: Programs

* 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'..

Page 59: Programs

*

* 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 = ' '..

*

Page 60: Programs

* APPEND itab.

* clear itab.

* itab-fnam = 'MEPO1319-SPINF'.

* itab-fval = 'X'..

*

* APPEND itab.

* clear itab.

*

*

* call function 'BDC_INSERT'

* exporting

* tcode = 'ME22N'

** POST_LOCAL = NOVBLOCAL

** PRINTING = NOPRINT

** SIMUBATCH = ' '

** CTUPARAMS = ' '

* tables

* dynprotab = itab

** EXCEPTIONS

** INTERNAL_ERROR = 1

** NOT_OPEN = 2

** QUEUE_ERROR = 3

** TCODE_INVALID = 4

** PRINTING_INVALID = 5

** POSTING_INVALID = 6

** OTHERS = 7

* .

* IF sy-subrc <> 0.

Page 61: Programs

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

* ENDIF.

*

*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 = ITAB1-PO_NO

POHEADER = PO_HEADER

POHEADERX = PO_HEADERX

* POADDRVENDOR =

* TESTRUN =

* MEMORY_UNCOMPLETE =

* MEMORY_COMPLETE =

* POEXPIMPHEADER =

* POEXPIMPHEADERX =

* VERSIONS =

* IMPORTING

* EXPHEADER =

Page 62: Programs

* 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 =

Page 63: Programs

.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

* EXPORTING

* WAIT =

* IMPORTING

* RETURN =

.

ENDLOOP.

*CALL FUNCTION 'BDC_CLOSE_GROUP'

** EXCEPTIONS

** NOT_OPEN = 1

** QUEUE_ERROR = 2

** OTHERS = 3

* .

*IF sy-subrc <> 0.

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*ENDIF.

Program-19

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

*& Report ZABAP *

*& *

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

*& *

*& *

Page 64: Programs

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

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'.

Page 65: Programs

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.

Page 66: Programs

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.

Page 67: Programs

append itab.

*

* sort itab.

* loop at itab.

*

* at first.

* write: 'ABAP'.

* endat.

*

* at new sname.

* write:/ itab-slno, itab-sname.

* endat.

*

* at new subject.

* write:/ itab-subject.

* endat.

* write: itab-marks.

*

* at end of sname.

* sum.

* write:/ itab-marks.

* endat.

*

* at last.

Page 68: Programs

* 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.

*

* uline.

*

* endat.

s = itab-sname.

*

* s = s mod 2.

* if s ne 0.

* uline.

* else.

Page 69: Programs

* 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 =

Page 70: Programs

* 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,

Page 71: Programs

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 = 'C:\TEXT.TXT'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = '#'

* HEADER_LENGTH = 0

* READ_BY_LINE = 'X'

* DAT_MODE = ' '

* IMPORTING

* FILELENGTH =

* HEADER =

tables

data_tab = ITAB1

* EXCEPTIONS

* FILE_OPEN_ERROR = 1

* FILE_READ_ERROR = 2

* NO_BATCH = 3

Page 72: Programs

* GUI_REFUSE_FILETRANSFER = 4

* INVALID_TYPE = 5

* NO_AUTHORITY = 6

* UNKNOWN_ERROR = 7

* BAD_DATA_FORMAT = 8

* HEADER_NOT_ALLOWED = 9

* SEPARATOR_NOT_ALLOWED = 10

* HEADER_TOO_LONG = 11

* UNKNOWN_DP_ERROR = 12

* ACCESS_DENIED = 13

* DP_OUT_OF_MEMORY = 14

* DISK_FULL = 15

* DP_TIMEOUT = 16

* OTHERS = 17

.

IF sy-subrc <> 0.

* 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'.

Page 73: Programs

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'.

Page 74: Programs

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

**

**&

**

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

Page 75: Programs

**

**&

**

**&

**

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

**

*

REPORT ZMA_EX02 .

*DATA: BEGIN OF STUD_LIST OCCURS 0,

* SNO TYPE I,

* SNAME(10) TYPE C,

* SAGE TYPE I,

* END OF STUD_LIST,

* CPY_SAGE LIKE STUD_LIST-SAGE.

*

*DATA: MIN TYPE I VALUE 0, MAX TYPE I VALUE 0, F TYPE I VALUE 1,

* COUNT(4) TYPE C.

*

*

*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.

Page 76: Programs

*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.

Page 77: Programs

*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.

Page 78: Programs

**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 = 1.1

* SEL-HIGH = 1000.

" LOOP AT SEL.

WRITE: / 'SIGN', SEL-SIGN,

'OPTION', SEL-OPTION,

'LOW', SEL-LOW,

'HIGH', SEL-HIGH.

" ENDLOOP.

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

Page 79: Programs

------*

*& 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,

Page 80: Programs

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 = 'ASC'

has_field_separator = '#'

* HEADER_LENGTH = 0

* READ_BY_LINE = 'X'

* DAT_MODE = ' '

Page 81: Programs

* IMPORTING

* FILELENGTH =

* HEADER =

TABLES

data_tab = itab1

* EXCEPTIONS

* FILE_OPEN_ERROR = 1

* FILE_READ_ERROR = 2

* NO_BATCH = 3

* GUI_REFUSE_FILETRANSFER = 4

* INVALID_TYPE = 5

* NO_AUTHORITY = 6

* UNKNOWN_ERROR = 7

* BAD_DATA_FORMAT = 8

* HEADER_NOT_ALLOWED = 9

* SEPARATOR_NOT_ALLOWED = 10

* HEADER_TOO_LONG = 11

* UNKNOWN_DP_ERROR = 12

* ACCESS_DENIED = 13

* DP_OUT_OF_MEMORY = 14

* DISK_FULL = 15

* DP_TIMEOUT = 16

* OTHERS = 17

.

IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

Page 82: Programs

ENDIF.

* ITAB1-VNO = '604'.

* ITAB1-STREET = 'MADURAI'.

* APPEND ITAB1.

*

*CALL FUNCTION 'BDC_OPEN_GROUP'

* EXPORTING

* client = sy-mandt

** DEST = FILLER8

* group = 'SESSION1'

** HOLDDATE = FILLER8

* keep = 'X'

* user = sy-uname

** RECORD = FILLER1

* prog = sy-cprog

** IMPORTING

** QID =

* EXCEPTIONS

* client_invalid = 1

* destination_invalid = 2

* group_invalid = 3

* group_is_locked = 4

* holddate_invalid = 5

* internal_error = 6

* queue_error = 7

Page 83: Programs

* running = 8

* system_lock_error = 9

* user_invalid = 10

* OTHERS = 11

* .

*IF sy-subrc <> 0.

* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

*ENDIF.

LOOP AT itab1.

*

* itab-program = 'SAPLMEGUI'.

* itab-dynpro = '0014'.

* itab-dynbegin = 'X'.

* APPEND itab.

* CLEAR itab.

*

* itab-fnam = 'BDC_OKCODE'.

* itab-fval = '=MECHOB'.

*

*

* APPEND itab.

* CLEAR itab.

*

*

* itab-program = 'SAPLMEGUI'.

* itab-dynpro = '0002'.

Page 84: Programs

* 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.

Page 85: Programs

*

* 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'..

Page 86: Programs

*

* 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 = ' '..

Page 87: Programs

*

* APPEND itab.

* clear itab.

* itab-fnam = 'MEPO1319-SPINF'.

* itab-fval = 'X'..

*

* APPEND itab.

* clear itab.

*

*

* call function 'BDC_INSERT'

* exporting

* tcode = 'ME22N'

** POST_LOCAL = NOVBLOCAL

** PRINTING = NOPRINT

** SIMUBATCH = ' '

** CTUPARAMS = ' '

* tables

* dynprotab = itab

** EXCEPTIONS

** INTERNAL_ERROR = 1

** NOT_OPEN = 2

** QUEUE_ERROR = 3

** TCODE_INVALID = 4

** PRINTING_INVALID = 5

** POSTING_INVALID = 6

** OTHERS = 7

Page 88: Programs

* .

* IF sy-subrc <> 0.

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

* ENDIF.

*

*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 = ITAB1-PO_NO

POHEADER = PO_HEADER

POHEADERX = PO_HEADERX

* POADDRVENDOR =

* TESTRUN =

* MEMORY_UNCOMPLETE =

* MEMORY_COMPLETE =

* POEXPIMPHEADER =

* POEXPIMPHEADERX =

Page 89: Programs

* 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 =

Page 90: Programs

* POTEXTHEADER =

* POTEXTITEM =

* ALLVERSIONS =

* POPARTNER =

.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

* EXPORTING

* WAIT =

* IMPORTING

* RETURN =

.

ENDLOOP.

*CALL FUNCTION 'BDC_CLOSE_GROUP'

** EXCEPTIONS

** NOT_OPEN = 1

** QUEUE_ERROR = 2

** OTHERS = 3

* .

*IF sy-subrc <> 0.

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*ENDIF.

Program-22

Page 91: Programs

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

*& 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,

Page 92: Programs

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 from ekpo into corresponding

fields of table itab_final.

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.

Page 93: Programs

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.

Page 94: Programs

write:/ itab_final-ebeln,

itab_final-ebelp,

itab_final-matnr,

itab_final-aedat,

itab_final-lifnr,

itab_final-kunnr.

endloop.

Pro-23

.