SAP/Plant Maintenance

iPPE Equipment List 관리 BAPI Function

그녀는애교쟁이 2014. 8. 5. 11:21
반응형

SAP PM 모듈에서 iPPE 의 노드를 생성하고 Relation 과 Variant 를 생성하는 함수이다. iPPE 가 무슨 역활을 하는지는 잘 모르겠으나, Plant 나 Equipment 에서 상하위 노드를 생성 할 수 있는 것을 보니 시설의 관리를 편하게 하기 위해 만든 것 같다. 


항상 개발하면서 느끼지만 SAP는 많은 것을 담고 있고 많은 프로세스가 있는데 이걸 다 아는 사람이 얼마나 될 까 싶다. 물론 나는 진짜 많이 모르지만 개발을 위해서 디버깅 해보는 정도다. 나중에 기회가 된다면 iPPE에 대한 더 많은 내용을 포스팅을 해야겠다. 결론은 iPPE 는 뭐에 쓰는 걸까? 궁금하다.


아래의 함수 들은 PPE Equipment 에서 데이터를 생성, 조회, 수정하는 함수들의 모음이다.


* Node 의 Internal Relation ID 를 생성한다. 
* Internal Relastion ID Function 을 돌리기만 해도 노드가 생기고, 
* 또 돌리면 중복으로 생성되지 않는다.

CALL FUNCTION 'PVSHI_INTERNAL_RELATION_ID'
  EXPORTING
*   I_MODE_ALL                    = 'X'
*   I_MSG_HANDLING                = 'A'
*   I_EXISTENCE_ONLY              = ' '
*   START_NODE_NAME               =
*   START_CLASS_NUM               =
*   START_CLASS_TYPE              =
*   START_VARIANT_NAME            =
*   START_ALTERNATIVE_NAME        =
*   START_GUID                    =
*   START_OBJECT_TYPE             = ' '
    start_application_type        =
*   TARGET_NODE_NAME              =
*   TARGET_CLASS_NUM              =
*   TARGET_CLASS_TYPE             =
*   TARGET_VARIANT_NAME           =
*   TARGET_ALTERNATIVE_NAME       =
*   TARGET_CHANGE_NO              =
*   TARGET_GUID                   =
*   TARGET_OBJECT_TYPE            = ' '
    target_application_type       =
* IMPORTING
*   RELATION_ID                   =
*   EXISTENCE                     =
*   REL_APPLICATION_TYPE          =
* TABLES
*   RETURN                        =
          .

* Node 데이터를 조회한다. pnodid 의 pnguid 로 데이터를 조회해야 한다.
CALL FUNCTION 'PVSHI_PNCMP_READ'
* EXPORTING
*   I_MODE_ALL                        = 'X'
*   I_MSG_HANDLING                    = 'A'
*   I_CHANGENO_SPECIFIED              = ' '
* TABLES
*   COMPONENTNODEDATA                 =
*   VARIANCESCHEMEHEADER              =
*   VARIANCESCHEME                    =
*   COMPONENTNODETEXT                 =
*   COMPONENTNODELONGTEXTHEADER       =
*   COMPONENTNODELONGTEXT             =
*   COMPONENTNODEEXTENSION            =
*   COMPONENTALTERNATIVEDATA          =
*   COMPONENTALTERNATIVETEXT          =
*   COMPONENTALTLONGTEXTHEADER        =
*   COMPONENTALTLONGTEXT              =
*   COMPONENTRELATION                 =
*   ACTIVITYRELATION                  =
*   ACTIVITYRELATIONCONSTRAINT        =
*   GENERICRELATION                   =
*   ADMINDATA                         =
*   RETURN                            =
          .

* Node 의 데이터를 수정/삭제를 한다.
CALL FUNCTION 'PVSHI_PNCMP_MAINTAIN'
* EXPORTING
*   I_MODE_ALL                         = 'X'
*   I_CREATE_FLG                       = 'X'
*   I_MSG_HANDLING                     = 'A'
*   I_DELTA_FLG                        = ' '
* TABLES
*   COMPONENTNODEDATA                  =
*   COMPONENTNODEDATAX                 =
*   VARIANCESCHEMEHEADER               =
*   VARIANCESCHEME                     =
*   COMPONENTNODETEXT                  =
*   COMPONENTNODETEXTX                 =
*   COMPONENTNODELONGTEXTHEADER        =
*   COMPONENTNODELONGTEXTHEADERX       =
*   COMPONENTNODELONGTEXT              =
*   COMPONENTNODELONGTEXTX             =
*   COMPONENTNODEEXTENSION             =
*   COMPONENTNODEEXTENSIONX            =
*   COMPONENTALTERNATIVEDATA           =
*   COMPONENTALTERNATIVEDATAX          =
*   COMPONENTALTERNATIVETEXT           =
*   COMPONENTALTERNATIVETEXTX          =
*   COMPONENTALTLONGTEXTHEADER         =
*   COMPONENTALTLONGTEXTHEADERX        =
*   COMPONENTALTLONGTEXT               =
*   COMPONENTALTLONGTEXTX              =
*   COMPONENTRELATION                  =
*   ACTIVITYRELATION                   =
*   ACTIVITYRELATIONCONSTRAINT         =
*   RETURN                             =
          .

* Node 수정 내역을 저장한다.
CALL FUNCTION 'PVSHI_SAVE'
* EXPORTING
*   FLG_COMMIT            = 'X'
*   I_MODE_ALL            = 'X'
*   I_MSG_HANDLING        = 'A'
*   I_UNLOCK              = '1'
*   SAVE_PROTOCOL         = 'X'
*   I_NO_CHANGEDOCS       = ' '
* TABLES
*   RETURN                =
          .