SAP4TECH

SAP and ABAP Free Tutorials
Menu
  • SAP Technical
    • ABAP Code Snippets
    • ABAP WebDynPro
    • SAP GW
    • SAP IDOC (ALE)
    • SAP PI (XI)
    • SAP Screen Personas
    • SAP Workflow
  • SAP Functional
    • SAP FI
    • SAP FSCM
    • SAP HR
    • SAP SD & SAP MM
    • SAP PM
    • SAP PP
    • SAP PS
    • SAP QM
    • SAP VIM
    • SAP WM
  • SAP Fiori
  • SAP HANA
  • SAP BW
  • SAP CRM
  • SAP SRM
  • SAP4TECH
    • About Us
    • Contact Us
    • Terms & Conditions
    • Privacy and Cookie Policy

SAP4TECH » SAP Process Order Idoc Outound – SAP IDOC LOIPRO (Sample ABAP)

ABAP Tutorials

SAP Process Order Idoc Outound – SAP IDOC LOIPRO (Sample ABAP)

February 19, 2016 John

SAP Process Order Idoc Outound: Sample ABAP is the last part of LOIPRO IDoc.

It will covers a sample ABAP code how to generate LOIPRO IDoc including preparing Data and calling the CLOI* BAPI to create a LOIPRO Idoc.

Table of Contents

  • SAP Process Order Idoc Outound: Trigger LOIPRO IDoc when Save
  • SAP Process Order Idoc Outound: Prepare Data
  • SAP Process Order Idoc Outound: Create LOIPRO IDOC

SAP Process Order Idoc Outound: Trigger LOIPRO IDoc when Save

Check more detail on How To trigger IDOC LOIPRO when PO Changed/Created.

The BADI to be implemented is WORKORDER_UPDATE and the method is AT_SAVE

ABAP
1
2
3
4
5
6
7
8
9
10
11
METHOD if_ex_workorder_update~at_save.
  " SAP Process Order Idoc Outound when PO/WO Saved
  CALL FUNCTION 'ZIDOC_CREATE_ZLOIPRO' IN BACKGROUND TASK
  AS SEPARATE UNIT DESTINATION 'NONE'
       EXPORTING
            message_type = 'ZLOIPRO'
            aufnr        = is_header_dialog-aufnr
            werks        = is_header_dialog-werks
            matnr        = is_header_dialog-matnr.
 
ENDMETHOD.

SAP Process Order Idoc Outound: Prepare Data

Before calling the standard function CLOI_MASTERIDOC_CREATE_LOIPRO to create the LOIPRO01 IDoc for SAP Process Order Master, some structure must be filled.

Get here How to Get SAP Process Order Status

Here a sample ABAP code to fill the ORDER_DATA TYPE CLOI_AFKO_TAB

ABAP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
  DATA: lt_order_data TYPE  cloi_afko_tab.
  DATA: ls_order_data TYPE  cloi_afko_struct.
*----------------------------------------------------------*
*  " Fill Order Data for SAP Process Order Idoc Outound
*----------------------------------------------------------*
  TYPES: BEGIN OF ty_jest,
     stat LIKE jest-stat ,
     END OF ty_jest.
 
  " Retrieve PO Master Data
  DATA: ls_afko TYPE afko.
  DATA: ls_aufk TYPE aufk.
  DATA: lt_afpo TYPE TABLE OF afpo.
  DATA: lt_jest TYPE TABLE OF ty_jest.
  DATA: ls_jest TYPE ty_jest.
  DATA: lt_affl TYPE TABLE OF affl.
  DATA: ls_affl TYPE affl.
  DATA: lt_afab TYPE TABLE OF afab.
  DATA: ls_afab TYPE afab.
  DATA: lt_afvv TYPE TABLE OF afvv.
  DATA: ls_afvv TYPE afvv.
 
  " Tables and structures for BAPI mapping
  DATA: lt_jstk TYPE cloi_jstk_tab.
  DATA: ls_jstk LIKE LINE OF lt_jstk.
  DATA: lt_affl_tab TYPE cloi_affl_tab.
  DATA: ls_affl_str TYPE cloi_affl_struct.
  DATA: lt_afab_tab TYPE cloi_afab_tab.
  DATA: ls_afab_str TYPE cloi_afab_struct.
  DATA: lt_afvv_tab TYPE cloi_afvo_tab.
  DATA: ls_afvv_str TYPE cloi_afvo_struct.
 
* AFKO: Order Header Data PP Orders
  SELECT SINGLE * FROM afko INTO ls_afko
  WHERE aufnr = aufnr.
 
* AUFK: Order master data
  SELECT SINGLE * FROM aufk INTO ls_aufk.
  " OBJNR
 
* JEST: Work Order Status
  SELECT  stat  FROM jest INTO TABLE lt_jest
  WHERE objnr = ls_aufk-objnr.
 
* AFPO: AFPO
  SELECT * FROM afpo INTO TABLE lt_afpo
   WHERE aufnr = aufnr.
 
* AFFL:  Work order sequence
  SELECT * FROM affl INTO TABLE lt_affl
  WHERE aufpl = ls_afko-aufpl.
 
* AFVV:DB structure of the quantities/dates/values in the operation
  IF NOT lt_affl[] IS INITIAL.
    SELECT * FROM afvv INTO TABLE lt_afvv
     FOR ALL ENTRIES IN lt_affl
     WHERE aufpl = lt_affl-aufpl
      AND  aplzl = lt_affl-aplzl.
  ENDIF.
 
*----------------------------------*
* Fill Data to BAPI input
*----------------------------------*
  MOVE-CORRESPONDING ls_afko TO ls_order_data.
  MOVE-CORRESPONDING ls_aufk TO ls_order_data.
  ls_order_data-objnr = ls_aufk-objnr.
  LOOP AT lt_jest INTO ls_jest.
    CLEAR ls_jstk.
    ls_jstk-stat = ls_jest-stat.
    APPEND ls_jstk TO lt_jstk.
  ENDLOOP.
 
  LOOP AT lt_affl INTO ls_affl.
    CLEAR ls_affl_str. REFRESH lt_afvv_tab.
    MOVE-CORRESPONDING ls_affl TO ls_affl_str.
    LOOP AT lt_afvv INTO ls_afvv
     WHERE aufpl = ls_affl-aufpl
      AND  aplzl = ls_affl-aplzl.
      CLEAR ls_afvv_str.
      MOVE-CORRESPONDING ls_afvv TO ls_afvv_str .
      APPEND ls_afvv_str TO lt_afvv_tab.
    ENDLOOP.
    ls_affl_str-t_afvo[] = lt_afvv_tab[].
 
    APPEND ls_affl_str TO lt_affl_tab.
  ENDLOOP.
 
  LOOP AT lt_afab INTO ls_afab.
    CLEAR ls_afab_str.
    MOVE-CORRESPONDING ls_afab TO ls_afab_str.
    APPEND ls_afab_str TO lt_afab_tab.
  ENDLOOP.
 
  ls_order_data-t_afpo = lt_afpo[].
  ls_order_data-t_jstk = lt_jstk[].
  ls_order_data-t_affl = lt_affl_tab[].
  ls_order_data-t_afab = lt_afab_tab[].
 
  APPEND ls_order_data TO lt_order_data.

Here an other interesting SCN article Creation of production order IDOCs to a given selection

SAP Process Order Idoc Outound: Create LOIPRO IDOC

Once the table ORDER_DATA is populated, the CLOI_MASTERIDOC_CREATE_LOIPRO can be called to generate the SAP Work Order Idoc ( LOIPRO01).

ABAP
1
2
3
4
5
6
7
" Call the SAP Process Order Idoc Outound IDOC LOIPRO01 Creation
  CALL FUNCTION 'CLOI_MASTERIDOC_CREATE_LOIPRO'
       EXPORTING
            opt_sys      = lv_logsys
            message_type = message_type
       TABLES
            order_data   = lt_order_data.

You may also like:

  • SAP Process Order IDoc LOIPRO01 Overview
  • How to Trigger LOIPRO01 IDOC When Save

Check also this article on Automation of LOIPRO outbound IDOCS on sap.blog.com

Prev Article
Next Article
Tags:ABAP Order

Related Articles

pieces of the puzzle 592779 1280
How to link STKO and STPO : Find the link …

How to link STKO and STPO for BOM in SAP

Connection1
SAP GOS : Generic Object Services offer functions for Business …

SAP GOS Attachment : Authorization and Technical Overview

Search on SAP4TECH

The Most Populars

  • The Most Important SAP ISU Tables
    The Most Important SAP ISU Tables
  • SAP Users Tables
    SAP Users Tables (for Personal, Logon, and Address Data)
  • List of SAP Purchase Order Tables in SAP MM SAP PO Tables
    SAP Purchase Order Tables: Main PO tables in SAP MM – SAP PO Tables
  • Full list of SAP Movement Types
    SAP Good Movement Types – Full list of SAP Movement Types
  • The Main SAP GL Account Tcodes SAP GL Account Tables
    The Main SAP G/L Account Tcodes & SAP GL Account Tables
  • SAP BOM Tables
    SAP BOM Tables for BOM Header, Items and components and Category

Related Posts

  • SAP IDOC Qualifier
    SAP IDOC QUALifier List with description
  • Sample ABAP Program for Application server File
    Sample ABAP Program for Application server File
  • SAP4TECH SITEMAP e1472659995713
    What is Open SQL ? Open SQL or Native SQL in SAP ABAP ?
  • SAP CRM e1459022344657
    SAP KNVV: Customer Master Sales Data
  • page not found 688965 1280 e1467294731652
    SAP ST22 SNAP – The SAP Tables for Dumb Message

SAP4TECH

SAP and ABAP Free Tutorials

Trending Posts

  • The Most Important SAP ISU Tables
  • SAP Users Tables (for Personal, Logon, and Address Data)
  • SAP Purchase Order Tables: Main PO tables in SAP MM – SAP PO Tables
  • SAP Good Movement Types – Full list of SAP Movement Types
  • The Main SAP G/L Account Tcodes & SAP GL Account Tables
  • SAP BOM Tables for BOM Header, Items and components and Category

The Most Recents

  • The Most Important SAP ISU Tables
  • SAP Fiori 3 UX and Design of SAP Fiori Apps for SAP S/4HANA, SAP TechEd Lecture
  • The Main SAP Dunning Transaction Codes
  • SAP Accounts Payable Tcodes & Accounts Receivable Tcodes ( SAP AP Tcodes & SAP AR Tcodes)
  • The Most Important SAP Payment Terms Tables (ZTERM, Text…)

Search

SAP Tutorials by Topics

  • SAP Tables
  • SAP Tcodes
  • SAP BAPI
  • ABAP Snippets
  • Top SAP Courses
  • Top SAP Books
Copyright © 2021 SAP4TECH

Ad Blocker Detected

Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker.

Refresh
This website uses cookies to improve your experience. We'll assume you accept this policy as long as you are using this websiteAcceptView Policy