<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: WBS Elements Upload in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/wbs-elements-upload/m-p/2240049#M482888</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adding WBS Element in Proper Hierarchy from a Text File. &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPIWBS
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report Z_BAPI_CJ20N
*&amp;amp;---------------------------------------------------------------------*

REPORT Z_BAPI_CJ20N.

INCLUDE ZBAPICJ20NTOP.

INCLUDE ZBAPICJ20NFILEUP.

INCLUDE ZBAPICJ20NLOGIC.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPICJ20NTOP
*&amp;amp;---------------------------------------------------------------------*

DATA: BEGIN OF ITMAIN OCCURS 0,
PROJECT_DEFINITION TYPE PS_PSPID,
DESCRIPTION TYPE PS_POST1,
PROJECT_PROFILE TYPE PROFIDPROJ,
BUS_AREA TYPE GSBER,
WBS_ELEMENT TYPE PS_POSID,
WBS_DESCRIPTION TYPE PS_POST1,
END OF ITMAIN,WA_MAIN LIKE LINE OF ITMAIN,ITWBS LIKE STANDARD
TABLE OF ITMAIN WITH HEADER LINE, ITMAIN2 LIKE STANDARD TABLE OF
ITMAIN.

DATA: ITPRJDEF TYPE STANDARD TABLE OF BAPI_PROJECT_DEFINITION WITH
HEADER LINE,WA_PRJDEF LIKE LINE OF ITPRJDEF.

DATA: ITPRJDEFUP TYPE STANDARD TABLE OF BAPI_PROJECT_DEFINITION_UP WITH
HEADER LINE, WA_PRJDEFUP LIKE LINE OF ITPRJDEFUP.

DATA: ITMETPRJ TYPE STANDARD TABLE OF BAPI_METHOD_PROJECT,
WA_METPRJ LIKE LINE OF ITMETPRJ.

DATA: RETURN TYPE BAPIRETURN1,MSG TYPE STANDARD TABLE OF
BAPI_METH_MESSAGE WITH HEADER LINE.

DATA: LINES TYPE I,REFNO TYPE I VALUE 0.
DESCRIBE TABLE ITMAIN LINES LINES.
DATA: METTYPE TYPE STRING VALUE 'Create'.

DATA: WA_DUPLI LIKE LINE OF ITMAIN.
WA_DUPLI-PROJECT_DEFINITION = 'JB'.

DATA: SPLIT1(50) TYPE C.
DATA: PREVWBS TYPE PS_POSID VALUE ' ',
LEFTWBS TYPE PS_POSID VALUE ' '.
DATA: POS TYPE I VALUE 1.
DATA: OFF TYPE I VALUE 0,MODE TYPE I,INDEX1 TYPE I VALUE 0,
INDEX2 TYPE I VALUE 0,INDEX3 TYPE I VALUE 0,
INDEX4 TYPE I VALUE 0,INDEX5 TYPE I VALUE 0,
POS2 TYPE I VALUE 0,FLAG TYPE I VALUE 0.

DATA: ITBUS TYPE STANDARD TABLE OF BAPI_BUS2054_NEW,
WA_BUS LIKE LINE OF ITBUS, RET TYPE STANDARD TABLE OF BAPIRET2,
WA_RET LIKE LINE OF RET, ITBUS2 LIKE STANDARD TABLE OF BAPI_BUS2054_NEW,
WA_BUS2 LIKE LINE OF ITBUS, WA_BUS3 LIKE LINE OF ITBUS.

DATA: BAPIRET TYPE BAPIRETURN1,
PROJEX TYPE BAPI_PROJECT_DEFINITION_EX.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPICJ20NFILEUP
*&amp;amp;---------------------------------------------------------------------*

CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = ' '
FILETYPE = 'DAT'
TABLES
DATA_TAB = ITMAIN .

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPICJ20NLOGIC
*&amp;amp;---------------------------------------------------------------------*

SORT ITMAIN BY PROJECT_DEFINITION WBS_ELEMENT.

LOOP AT ITMAIN INTO WA_MAIN.

IF WA_DUPLI-PROJECT_DEFINITION &amp;lt;&amp;gt; WA_MAIN-PROJECT_DEFINITION.

WA_PRJDEF-PROJECT_DEFINITION = WA_MAIN-PROJECT_DEFINITION.
WA_PRJDEF-DESCRIPTION = WA_MAIN-DESCRIPTION.
WA_PRJDEF-PROJECT_PROFILE = WA_MAIN-PROJECT_PROFILE.
WA_PRJDEF-BUS_AREA = WA_MAIN-BUS_AREA.

WA_PRJDEFUP-PROJECT_DEFINITION = 'X'.
WA_PRJDEFUP-DESCRIPTION = 'X'.
WA_PRJDEFUP-PROJECT_PROFILE = 'X'.
WA_PRJDEFUP-BUS_AREA = 'X'.

WA_METPRJ-REFNUMBER = REFNO + 1 .
WA_METPRJ-OBJECTTYPE = 'ProjectDefinition'.
WA_METPRJ-METHOD = METTYPE.
WA_METPRJ-OBJECTKEY = WA_MAIN-PROJECT_DEFINITION.
APPEND WA_METPRJ TO ITMETPRJ.

WA_METPRJ-REFNUMBER = ''.
WA_METPRJ-OBJECTTYPE = ''.
WA_METPRJ-METHOD = 'Save'.
WA_METPRJ-OBJECTKEY = ''.
APPEND WA_METPRJ TO ITMETPRJ.

CALL FUNCTION 'BAPI_PROJECT_MAINTAIN'
EXPORTING
I_PROJECT_DEFINITION = WA_PRJDEF
I_PROJECT_DEFINITION_UPD = WA_PRJDEFUP
IMPORTING
RETURN = RETURN
TABLES
I_METHOD_PROJECT = ITMETPRJ
E_MESSAGE_TABLE = MSG.

IF SY-SUBRC = 0.
FLAG = 1.
ENDIF.
WA_DUPLI-PROJECT_DEFINITION = WA_MAIN-PROJECT_DEFINITION.

COMMIT WORK.
DELETE ITMETPRJ FROM 1 TO 2.

INCLUDE ZBAPIWBS_ALL.

ENDIF.
ENDLOOP.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPIWBS_ALL
*&amp;amp;---------------------------------------------------------------------*
LOOP AT ITMAIN INTO WA_MAIN WHERE PROJECT_DEFINITION = WA_DUPLI-PROJECT_DEFINITION.
APPEND WA_MAIN TO ITWBS.
ENDLOOP.

*Sort the table
LOOP AT ITWBS INTO WA_MAIN.
SPLIT1 = WA_MAIN-WBS_ELEMENT.
POS = 0.
LOOP AT ITWBS WHERE WBS_ELEMENT &amp;lt;&amp;gt; SPLIT1.

IF STRLEN( ITWBS-WBS_ELEMENT ) = STRLEN( SPLIT1 ).
IF POS = 0.
APPEND WA_MAIN TO ITMAIN2.
ENDIF.
APPEND ITWBS TO ITMAIN2.
DELETE ITWBS WHERE WBS_ELEMENT EQ ITWBS-WBS_ELEMENT.
POS = 1.
ELSE.
IF POS = 0.
APPEND WA_MAIN TO ITMAIN2.
DELETE ITWBS WHERE WBS_ELEMENT EQ WA_MAIN.
ENDIF.
POS = 1.
ENDIF.

ENDLOOP.
INDEX1 = INDEX1 + 1.
ENDLOOP.

*Define UP element
LOOP AT ITMAIN2 INTO WA_MAIN.

WA_BUS-WBS_ELEMENT = WA_MAIN-WBS_ELEMENT.
WA_BUS-DESCRIPTION = WA_MAIN-WBS_DESCRIPTION.
WA_BUS-WBS_UP = ''.
WA_BUS-WBS_LEFT = ''.
SPLIT1 = WA_MAIN-WBS_ELEMENT.
LOOP AT ITMAIN2 INTO WA_MAIN WHERE WBS_ELEMENT &amp;lt;&amp;gt; SPLIT1.
IF STRLEN( WA_MAIN-WBS_ELEMENT ) &amp;lt; STRLEN( SPLIT1 ) .
FIND WA_MAIN-WBS_ELEMENT IN SPLIT1.
IF SY-SUBRC = 0.
WA_BUS-WBS_UP = WA_MAIN-WBS_ELEMENT.
PREVWBS = WA_MAIN-WBS_ELEMENT.
ENDIF.
ENDIF.
ENDLOOP.
APPEND WA_BUS TO ITBUS.
INDEX2 = INDEX2 + 1.
ENDLOOP.

PREVWBS = ''.
LEFTWBS = ''.

* Define LEFT ELEMENT.
LOOP AT ITMAIN2 INTO WA_MAIN.

POS = 0.
SPLIT1 = WA_MAIN-WBS_ELEMENT.
READ TABLE ITBUS INTO WA_BUS2 WITH KEY WBS_ELEMENT = WA_MAIN-WBS_ELEMENT.
WA_BUS-WBS_ELEMENT = SPLIT1.
WA_BUS-DESCRIPTION = WA_MAIN-WBS_DESCRIPTION.
WA_BUS-WBS_UP = WA_BUS2-WBS_UP.
OFF = SY-TABIX.

LOOP AT ITMAIN2 INTO WA_MAIN WHERE WBS_ELEMENT &amp;lt;&amp;gt; SPLIT1.

READ TABLE ITBUS INTO WA_BUS3 WITH KEY WBS_ELEMENT = WA_MAIN-WBS_ELEMENT.

IF STRLEN( WA_BUS2-WBS_ELEMENT ) = STRLEN( WA_BUS3-WBS_ELEMENT ) AND
WA_BUS2-WBS_UP = WA_BUS3-WBS_UP AND POS = 0.

IF STRLEN( LEFTWBS ) &amp;lt;&amp;gt; STRLEN( SPLIT1 ).
LEFTWBS = ''.
ENDIF.

IF STRLEN( LEFTWBS ) = STRLEN( SPLIT1 ).
FIND WA_BUS2-WBS_UP IN LEFTWBS.
IF SY-SUBRC &amp;lt;&amp;gt; 0.
LEFTWBS = ''.
ENDIF.
ENDIF.

WA_BUS-WBS_LEFT = LEFTWBS.
LEFTWBS = SPLIT1.
POS = 1.
MODIFY ITBUS INDEX OFF FROM WA_BUS.
ENDIF.
ENDLOOP.

ENDLOOP.

WA_BUS-WBS_ELEMENT = ''.
APPEND WA_BUS TO ITBUS.

* Store WBS ELEMENTS.
LOOP AT ITBUS INTO WA_BUS.
SPLIT1 = WA_BUS-WBS_ELEMENT.
APPEND WA_BUS TO ITBUS2.
INDEX3 = 1.
POS = 0.

LOOP AT ITBUS INTO WA_BUS WHERE WBS_ELEMENT &amp;lt;&amp;gt; SPLIT1.

IF STRLEN( WA_BUS-WBS_ELEMENT ) &amp;lt;&amp;gt; STRLEN( SPLIT1 ) AND POS = 0.
POS = 1.
INDEX4 = INDEX3.

CALL FUNCTION 'BAPI_PS_INITIALIZATION' .

CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
I_PROJECT_DEFINITION = WA_DUPLI-PROJECT_DEFINITION
TABLES
IT_WBS_ELEMENT = ITBUS2
ET_RETURN = RET .

CALL FUNCTION 'BAPI_PS_PRECOMMIT'
TABLES
ET_RETURN = RET.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = WA_RET.

ENDIF.
APPEND WA_BUS TO ITBUS2.
INDEX3 = INDEX3 + 1.
ENDLOOP.

DELETE ITBUS2 FROM 1 TO INDEX3.
DELETE ITBUS FROM 1 TO INDEX4.

ENDLOOP.

DELETE ITWBS FROM 1 TO INDEX1.
CLEAR ITWBS.
DELETE ITMAIN2 FROM 1 TO INDEX2.

*At the end of all projects' processing
IF FLAG = 1.

CALL FUNCTION 'POPUP_FOR_INTERACTION'
EXPORTING
HEADLINE = 'PS Project &amp;amp; WBS Creation'
TEXT1 = 'All the Projects have been created.Please check......'
TICON = 'I'
BUTTON_1 = 'OK'.

ELSE.

CALL FUNCTION 'POPUP_FOR_INTERACTION'
EXPORTING
HEADLINE = 'Jeet Program'
TEXT1 = 'No Projects were created...'
TICON = 'I'
BUTTON_1 = 'CANCEL'

ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt; Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 02 May 2007 06:50:38 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-05-02T06:50:38Z</dc:date>
    <item>
      <title>WBS Elements Upload</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wbs-elements-upload/m-p/2240048#M482887</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI All , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am uploading the Projects WBS Elements using LSMW via BAPI : BAPI_BUS2054_CREATE_MULTI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I getting this error at the last step :&amp;#145;SaveReplica&amp;#146; Method was not called up via ALE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could any one help me ,why I am getting this error and what I am missing while passing the information.Its bit Urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the help in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Krishna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 May 2007 06:44:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wbs-elements-upload/m-p/2240048#M482887</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-02T06:44:48Z</dc:date>
    </item>
    <item>
      <title>Re: WBS Elements Upload</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wbs-elements-upload/m-p/2240049#M482888</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adding WBS Element in Proper Hierarchy from a Text File. &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPIWBS
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report Z_BAPI_CJ20N
*&amp;amp;---------------------------------------------------------------------*

REPORT Z_BAPI_CJ20N.

INCLUDE ZBAPICJ20NTOP.

INCLUDE ZBAPICJ20NFILEUP.

INCLUDE ZBAPICJ20NLOGIC.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPICJ20NTOP
*&amp;amp;---------------------------------------------------------------------*

DATA: BEGIN OF ITMAIN OCCURS 0,
PROJECT_DEFINITION TYPE PS_PSPID,
DESCRIPTION TYPE PS_POST1,
PROJECT_PROFILE TYPE PROFIDPROJ,
BUS_AREA TYPE GSBER,
WBS_ELEMENT TYPE PS_POSID,
WBS_DESCRIPTION TYPE PS_POST1,
END OF ITMAIN,WA_MAIN LIKE LINE OF ITMAIN,ITWBS LIKE STANDARD
TABLE OF ITMAIN WITH HEADER LINE, ITMAIN2 LIKE STANDARD TABLE OF
ITMAIN.

DATA: ITPRJDEF TYPE STANDARD TABLE OF BAPI_PROJECT_DEFINITION WITH
HEADER LINE,WA_PRJDEF LIKE LINE OF ITPRJDEF.

DATA: ITPRJDEFUP TYPE STANDARD TABLE OF BAPI_PROJECT_DEFINITION_UP WITH
HEADER LINE, WA_PRJDEFUP LIKE LINE OF ITPRJDEFUP.

DATA: ITMETPRJ TYPE STANDARD TABLE OF BAPI_METHOD_PROJECT,
WA_METPRJ LIKE LINE OF ITMETPRJ.

DATA: RETURN TYPE BAPIRETURN1,MSG TYPE STANDARD TABLE OF
BAPI_METH_MESSAGE WITH HEADER LINE.

DATA: LINES TYPE I,REFNO TYPE I VALUE 0.
DESCRIBE TABLE ITMAIN LINES LINES.
DATA: METTYPE TYPE STRING VALUE 'Create'.

DATA: WA_DUPLI LIKE LINE OF ITMAIN.
WA_DUPLI-PROJECT_DEFINITION = 'JB'.

DATA: SPLIT1(50) TYPE C.
DATA: PREVWBS TYPE PS_POSID VALUE ' ',
LEFTWBS TYPE PS_POSID VALUE ' '.
DATA: POS TYPE I VALUE 1.
DATA: OFF TYPE I VALUE 0,MODE TYPE I,INDEX1 TYPE I VALUE 0,
INDEX2 TYPE I VALUE 0,INDEX3 TYPE I VALUE 0,
INDEX4 TYPE I VALUE 0,INDEX5 TYPE I VALUE 0,
POS2 TYPE I VALUE 0,FLAG TYPE I VALUE 0.

DATA: ITBUS TYPE STANDARD TABLE OF BAPI_BUS2054_NEW,
WA_BUS LIKE LINE OF ITBUS, RET TYPE STANDARD TABLE OF BAPIRET2,
WA_RET LIKE LINE OF RET, ITBUS2 LIKE STANDARD TABLE OF BAPI_BUS2054_NEW,
WA_BUS2 LIKE LINE OF ITBUS, WA_BUS3 LIKE LINE OF ITBUS.

DATA: BAPIRET TYPE BAPIRETURN1,
PROJEX TYPE BAPI_PROJECT_DEFINITION_EX.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPICJ20NFILEUP
*&amp;amp;---------------------------------------------------------------------*

CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = ' '
FILETYPE = 'DAT'
TABLES
DATA_TAB = ITMAIN .

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPICJ20NLOGIC
*&amp;amp;---------------------------------------------------------------------*

SORT ITMAIN BY PROJECT_DEFINITION WBS_ELEMENT.

LOOP AT ITMAIN INTO WA_MAIN.

IF WA_DUPLI-PROJECT_DEFINITION &amp;lt;&amp;gt; WA_MAIN-PROJECT_DEFINITION.

WA_PRJDEF-PROJECT_DEFINITION = WA_MAIN-PROJECT_DEFINITION.
WA_PRJDEF-DESCRIPTION = WA_MAIN-DESCRIPTION.
WA_PRJDEF-PROJECT_PROFILE = WA_MAIN-PROJECT_PROFILE.
WA_PRJDEF-BUS_AREA = WA_MAIN-BUS_AREA.

WA_PRJDEFUP-PROJECT_DEFINITION = 'X'.
WA_PRJDEFUP-DESCRIPTION = 'X'.
WA_PRJDEFUP-PROJECT_PROFILE = 'X'.
WA_PRJDEFUP-BUS_AREA = 'X'.

WA_METPRJ-REFNUMBER = REFNO + 1 .
WA_METPRJ-OBJECTTYPE = 'ProjectDefinition'.
WA_METPRJ-METHOD = METTYPE.
WA_METPRJ-OBJECTKEY = WA_MAIN-PROJECT_DEFINITION.
APPEND WA_METPRJ TO ITMETPRJ.

WA_METPRJ-REFNUMBER = ''.
WA_METPRJ-OBJECTTYPE = ''.
WA_METPRJ-METHOD = 'Save'.
WA_METPRJ-OBJECTKEY = ''.
APPEND WA_METPRJ TO ITMETPRJ.

CALL FUNCTION 'BAPI_PROJECT_MAINTAIN'
EXPORTING
I_PROJECT_DEFINITION = WA_PRJDEF
I_PROJECT_DEFINITION_UPD = WA_PRJDEFUP
IMPORTING
RETURN = RETURN
TABLES
I_METHOD_PROJECT = ITMETPRJ
E_MESSAGE_TABLE = MSG.

IF SY-SUBRC = 0.
FLAG = 1.
ENDIF.
WA_DUPLI-PROJECT_DEFINITION = WA_MAIN-PROJECT_DEFINITION.

COMMIT WORK.
DELETE ITMETPRJ FROM 1 TO 2.

INCLUDE ZBAPIWBS_ALL.

ENDIF.
ENDLOOP.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include ZBAPIWBS_ALL
*&amp;amp;---------------------------------------------------------------------*
LOOP AT ITMAIN INTO WA_MAIN WHERE PROJECT_DEFINITION = WA_DUPLI-PROJECT_DEFINITION.
APPEND WA_MAIN TO ITWBS.
ENDLOOP.

*Sort the table
LOOP AT ITWBS INTO WA_MAIN.
SPLIT1 = WA_MAIN-WBS_ELEMENT.
POS = 0.
LOOP AT ITWBS WHERE WBS_ELEMENT &amp;lt;&amp;gt; SPLIT1.

IF STRLEN( ITWBS-WBS_ELEMENT ) = STRLEN( SPLIT1 ).
IF POS = 0.
APPEND WA_MAIN TO ITMAIN2.
ENDIF.
APPEND ITWBS TO ITMAIN2.
DELETE ITWBS WHERE WBS_ELEMENT EQ ITWBS-WBS_ELEMENT.
POS = 1.
ELSE.
IF POS = 0.
APPEND WA_MAIN TO ITMAIN2.
DELETE ITWBS WHERE WBS_ELEMENT EQ WA_MAIN.
ENDIF.
POS = 1.
ENDIF.

ENDLOOP.
INDEX1 = INDEX1 + 1.
ENDLOOP.

*Define UP element
LOOP AT ITMAIN2 INTO WA_MAIN.

WA_BUS-WBS_ELEMENT = WA_MAIN-WBS_ELEMENT.
WA_BUS-DESCRIPTION = WA_MAIN-WBS_DESCRIPTION.
WA_BUS-WBS_UP = ''.
WA_BUS-WBS_LEFT = ''.
SPLIT1 = WA_MAIN-WBS_ELEMENT.
LOOP AT ITMAIN2 INTO WA_MAIN WHERE WBS_ELEMENT &amp;lt;&amp;gt; SPLIT1.
IF STRLEN( WA_MAIN-WBS_ELEMENT ) &amp;lt; STRLEN( SPLIT1 ) .
FIND WA_MAIN-WBS_ELEMENT IN SPLIT1.
IF SY-SUBRC = 0.
WA_BUS-WBS_UP = WA_MAIN-WBS_ELEMENT.
PREVWBS = WA_MAIN-WBS_ELEMENT.
ENDIF.
ENDIF.
ENDLOOP.
APPEND WA_BUS TO ITBUS.
INDEX2 = INDEX2 + 1.
ENDLOOP.

PREVWBS = ''.
LEFTWBS = ''.

* Define LEFT ELEMENT.
LOOP AT ITMAIN2 INTO WA_MAIN.

POS = 0.
SPLIT1 = WA_MAIN-WBS_ELEMENT.
READ TABLE ITBUS INTO WA_BUS2 WITH KEY WBS_ELEMENT = WA_MAIN-WBS_ELEMENT.
WA_BUS-WBS_ELEMENT = SPLIT1.
WA_BUS-DESCRIPTION = WA_MAIN-WBS_DESCRIPTION.
WA_BUS-WBS_UP = WA_BUS2-WBS_UP.
OFF = SY-TABIX.

LOOP AT ITMAIN2 INTO WA_MAIN WHERE WBS_ELEMENT &amp;lt;&amp;gt; SPLIT1.

READ TABLE ITBUS INTO WA_BUS3 WITH KEY WBS_ELEMENT = WA_MAIN-WBS_ELEMENT.

IF STRLEN( WA_BUS2-WBS_ELEMENT ) = STRLEN( WA_BUS3-WBS_ELEMENT ) AND
WA_BUS2-WBS_UP = WA_BUS3-WBS_UP AND POS = 0.

IF STRLEN( LEFTWBS ) &amp;lt;&amp;gt; STRLEN( SPLIT1 ).
LEFTWBS = ''.
ENDIF.

IF STRLEN( LEFTWBS ) = STRLEN( SPLIT1 ).
FIND WA_BUS2-WBS_UP IN LEFTWBS.
IF SY-SUBRC &amp;lt;&amp;gt; 0.
LEFTWBS = ''.
ENDIF.
ENDIF.

WA_BUS-WBS_LEFT = LEFTWBS.
LEFTWBS = SPLIT1.
POS = 1.
MODIFY ITBUS INDEX OFF FROM WA_BUS.
ENDIF.
ENDLOOP.

ENDLOOP.

WA_BUS-WBS_ELEMENT = ''.
APPEND WA_BUS TO ITBUS.

* Store WBS ELEMENTS.
LOOP AT ITBUS INTO WA_BUS.
SPLIT1 = WA_BUS-WBS_ELEMENT.
APPEND WA_BUS TO ITBUS2.
INDEX3 = 1.
POS = 0.

LOOP AT ITBUS INTO WA_BUS WHERE WBS_ELEMENT &amp;lt;&amp;gt; SPLIT1.

IF STRLEN( WA_BUS-WBS_ELEMENT ) &amp;lt;&amp;gt; STRLEN( SPLIT1 ) AND POS = 0.
POS = 1.
INDEX4 = INDEX3.

CALL FUNCTION 'BAPI_PS_INITIALIZATION' .

CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
I_PROJECT_DEFINITION = WA_DUPLI-PROJECT_DEFINITION
TABLES
IT_WBS_ELEMENT = ITBUS2
ET_RETURN = RET .

CALL FUNCTION 'BAPI_PS_PRECOMMIT'
TABLES
ET_RETURN = RET.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = WA_RET.

ENDIF.
APPEND WA_BUS TO ITBUS2.
INDEX3 = INDEX3 + 1.
ENDLOOP.

DELETE ITBUS2 FROM 1 TO INDEX3.
DELETE ITBUS FROM 1 TO INDEX4.

ENDLOOP.

DELETE ITWBS FROM 1 TO INDEX1.
CLEAR ITWBS.
DELETE ITMAIN2 FROM 1 TO INDEX2.

*At the end of all projects' processing
IF FLAG = 1.

CALL FUNCTION 'POPUP_FOR_INTERACTION'
EXPORTING
HEADLINE = 'PS Project &amp;amp; WBS Creation'
TEXT1 = 'All the Projects have been created.Please check......'
TICON = 'I'
BUTTON_1 = 'OK'.

ELSE.

CALL FUNCTION 'POPUP_FOR_INTERACTION'
EXPORTING
HEADLINE = 'Jeet Program'
TEXT1 = 'No Projects were created...'
TICON = 'I'
BUTTON_1 = 'CANCEL'

ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt; Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 May 2007 06:50:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wbs-elements-upload/m-p/2240049#M482888</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-02T06:50:38Z</dc:date>
    </item>
    <item>
      <title>Re: WBS Elements Upload</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wbs-elements-upload/m-p/2240050#M482889</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the reply. My requirment is to workout from Lsmw program , can any help me on this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the FM documentation , i see we should use &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. BAPI_PS_INITIALIZATION (before )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. BAPI_PS_PRECOMMIT(after)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.BAPI_TRANSACTION_COMMIT(after)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error : 'SaveReplica&amp;#146; Method was not called up via ALE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is the error which I am getting is due to not calling these FM. If yes how to pass these FM in LSMW apart from BAPI_TRANSACTION_COMMIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks alot for the help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Krishna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 May 2007 08:31:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wbs-elements-upload/m-p/2240050#M482889</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-02T08:31:21Z</dc:date>
    </item>
  </channel>
</rss>

