Advertising:
Create and cancel operation for goods receipt purchase order with Behavior Definition/Implementation I MATERIALDOCUMENTTP
From SAP Knowledge Base
Create goods receipt for purchase order
Cancel for goods receipt for purchase order
MODIFY ENTITIES OF I_MaterialDocumentTP
ENTITY MaterialDocumentItem
EXECUTE Cancel
FROM VALUE #( ( MaterialDocument = keys[ 1 ]-PurchasingHistoryDocument
MaterialDocumentItem = keys[ 1 ]-PurchasingHistoryDocumentItem
MaterialDocumentYear = keys[ 1 ]-PurchasingHistoryDocumentYear ) )
REPORTED DATA(reported)
FAILED DATA(failed).
IF failed IS INITIAL.
APPEND VALUE #( %msg = new_message( id = ycl_p2p_prmonitor_constants=>cv_message_class
number = '092'
severity = if_abap_behv_message=>severity-success
v1 = '' ) )
TO reported-stohistory.
ELSE.
IF reported-MaterialDocument IS NOT INITIAL.
APPEND VALUE #( %msg = new_message_with_text(
severity = reported-MaterialDocument[ 1 ]-%msg->m_severity
text = reported-MaterialDocument[ 1 ]-%msg->if_message~get_text( ) ) )
TO reported-poitemhistory.
ENDIF.
IF reported-MaterialDocumentItem IS NOT INITIAL.
APPEND VALUE #( %msg = new_message_with_text(
severity = reported-MaterialDocumentItem[ 1 ]-%msg->m_severity
text = reported-MaterialDocumentItem[ 1 ]-%msg->if_message~get_text( ) ) )
TO reported-poitemhistory.
ENDIF.
IF reported-materialdocumentitemserialno IS NOT INITIAL.
APPEND VALUE #(
%msg = new_message_with_text(
severity = ls_reported-materialdocumentitemserialno[ 1 ]-%msg->m_severity
text = ls_reported-materialdocumentitemserialno[ 1 ]-%msg->if_message~get_text( ) ) )
TO reported-poitemhistory.
ENDIF.
APPEND VALUE #( PurchaseOrder = keys[ 1 ]-PurchaseOrder
PurchaseOrderItem = keys[ 1 ]-PurchaseOrder
PurchasingHistoryDocument = keys[ 1 ]-PurchasingHistoryDocument
PurchasingHistoryDocumentItem = keys[ 1 ]-PurchasingHistoryDocumentItem
PurchasingHistoryDocumentYear = keys[ 1 ]-PurchasingHistoryDocumentYear )
TO failed-poitemhistory.
ENDIF.