Working with Business Objects in SAP获取BO方法及属性Word文档格式.docx
- 文档编号:16403265
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:19
- 大小:696.62KB
Working with Business Objects in SAP获取BO方法及属性Word文档格式.docx
《Working with Business Objects in SAP获取BO方法及属性Word文档格式.docx》由会员分享,可在线阅读,更多相关《Working with Business Objects in SAP获取BO方法及属性Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
TocreateinstanceofaBO
TocreateaninstanceofBOweneedtohavethekeyfieldsofthatBO.KeyfieldswillbeusedtouniquelyidentifytheBO.WecanusetheFM'
SWO_CREATE'
tocreateaninstanceofBOinanyreportprogram.
DATA:
i_objtypeTYPEswo_objtyp,
i_objkeyTYPEswo_typeid,
objectTYPEswo_objhnd.
i_objtype=<
BusinessObject>
i_objkey=<
BOkey>
CALLFUNCTION'
EXPORTING
objtype=i_objtype
objkey=i_objkey
IMPORTING
object=object.
Thevariable‘object’willholdruntimeinstanceoftheobjecttype.
Theotherwayistousethemacrosdefinedininclude<
cntn01>
INCLUDE<
.
objectTYPEswc_object.
*CreateinstanceofObjecttype
swc_create_objectobjecti_objtypei_objkey.
InternallythemacrocallstheFMSWO_CREATE.SoyoucaneithergofordirectFMcallorthemacrocall.
1.2
Container
BasicallythetermContainerisusedwithreferencetoBusinessObjectsandWorkflows.TheContaineractuallyholdsimportandexportparametersassociatedwithanymethodofBusinessObjectatruntime.WheneverwearecallinganymethodofBusinessObjectweneedtopopulatecontainerforimportparametersandafterthemethodgetsexecuteditreturnsthevalues(exportparameters)inContainer.
BusinessObjectcontaineristechnicallyoftypeSWCONTstructure.
Here‘ELEMENT’willbenameofthevariable/internaltablewhichcontainerholdsand‘VALUE’willhavecorrespondingvalue.Formultilinevariableorinternaltables,thecontainerwillholdmultiplevalueswithsameelementname.
1.2.1
LetstakeanexampletocheckwhatContaineris
Forexamplelet’screateaBusinessObject‘ZSWE1’withonlyonemethod‘READ’.WewilldiscussthecreationofBOinverybrief.
KeyfieldwillbePurchaseOrdernumber(EKKO_EBELN)forBO.
MethodREADwilltakePurchaseOrdernumberasinputandwillgiveallthePurchaseLineitemsinitinaninternaltable.
Step1:
CreateBOZSWE1fortestpurpose.Youcangiveitanyname.
Step2:
NowcreateamethodREAD
Savethemethod.Nowwewillcreatetheparametersofthemethod.
ImportParameters
PurchaseDocument
EKKO-EBELN
ExportParameter
ITEM
EKKO-EBELP(multiline)
PurchasingDocumentwillbeaimportparameteroftypeEKKO_EBELN.
ITEMwillbeaexportparameteroftypeEKKO_EBELPandwillbeamultilinevariable(internaltable)
SavethemethodandthenClickontheProgrambuttontoimplementthemethod.Inthemethodjustreadallebeln(Purchaselineitems)correspondingtoPOnumberintointernaltableITEMandpassitontocontainerinthemethod.Checkthesnapshotbelow.
CheckthewholecodeoftheBOprogramhere.
*****ImplementationofobjecttypeZSWE1*****
OBJECT>
BEGIN_DATAOBJECT."
Donotchange..DATAisgenerated
*onlyprivatemembersmaybeinsertedintostructureprivate
"
beginofprivate,
todeclareprivateattributesremovecommentsand
insertprivateattributeshere...
endofprivate,
BEGINOFKEY,
PURCHASINGDOCUMENTLIKEEKKO-EBELN,
ENDOFKEY.
END_DATAOBJECT."
BEGIN_METHODREADCHANGINGCONTAINER.
PURCHASINGDOCUMENTTYPEEKKO-EBELN,
ITEMTYPEEKPO-EBELPOCCURS0.
SWC_GET_ELEMENTCONTAINER'
PurchasingDocument'
PURCHASINGDOCUMENT.
selectebelpintotableitemfromekpo
whereebeln=PURCHASINGDOCUMENT.
SWC_SET_TABLECONTAINER'
Item'
ITEM.
END_METHOD.
SavethechangesandmakethestatusoftheBOtoimplementedfortestingpurpose.AlsogeneratetheBO.
Nowlet’stesttheBO.ForthisputabreakpointinthemethodREADattheselectquery.AlsotakeanyPOnumberwhichwillhavemultiplelineitems.YoucancheckEKKOandEKPOtables.InmycaseIamtakingPO‘4200000017’.InmyR3systemthisparticularPOcontains4lineitemsinEKPOtable.Let’sputabreakpointandcheckthemethod.
Step3:
ExecutetheBOwithkey‘4200000017’
Executethemethodwithimportparameteras‘420000017’
Itwilltakeyoutodebuggingmode.Nowcheckthecontainer.
IndebugmodebeforetheselectstatementtheCONTAINERwillholdonlyimportvariable
NowexecutethelaststatementinthemethodandseethecontentsofCONTAINER(justbeforeexitingthemethod.
SowehaveseenhowtheCONTAINERholdsvalueswhileweareworkingwithBusinessObjectsatruntime.
1.2.2
Somecommonmacrosdefinedininclude<
CNTN01>
forworkingwithContainers
Functionality
Macro
TowriteasinglelinevariableinContainer
SWC_SET_ELEMENT
ToreadasinglelinevariablefromContainer
SWC_GET_ELEMENT
TowriteamultilinevariableorinternaltableinContainer
SWC_SET_TABLE
ToreadamultilinevariableorinternaltablefromContainer
SWC_GET_TABLE
Toclearthecontainer
SWC_CLEAR_CONTAINER
Furtheryoucanchecktheinclude<
formoremacros.Alsocheckthemacros.Thesemacroscallsomespecificfunctionmodulesthatyoucanusedirectlyinyourcode.
1.3
CallingaBOMethod/Attributeinreportprograms
WecancreateainstanceofBOmethodusingFM
'
ormacro‘SWC_CREATE_OBJECT’.
FirstofallletsconsideraBO'
BUS1001006'
(StandardMaterial).Wewillcallthemethod‘DISPLAY’.ForthiswewillinstantiatetheBOwithkey‘ZSHUKSWE20’(materialnumber).
TocallamethodorattributeofanyBOwecanusetheFM
SWO_INVOKE'
.WehavetotakecarewhilewecallthisFM.Supposeifwewanttocallanattributedefinedinthemethod,thenweneedtopopulatetheimportparameter
ACCESS
with
‘G’.IfweneedtocallthemethodoftheBOthenweneedtopopulatetheimportparameter
‘C’.
Letscreateareportprogramandcheckstepbystep.Wewillfetchdetailsofattribute“MATERIALTYPE”ofBO'
*&
---------------------------------------------------------------------*
ReportZSWET_BO1
TogetattributesofBOinstanceinreport
REPORTzswet_bo1.
PARAMETERS:
p_busobj(10)TYPEcDEFAULT'
p_key(70)TYPEcDEFAULT'
ZSHUKSWE20'
p_attr(32)TYPEcDEFAULT'
MATERIALTYPE'
p_accessTYPEcDEFAULT'
G'
."
Tocallmethodput'
C'
i_elementTYPEswo_verb.
DATAobjectTYPEswo_objhnd.
DATAverbTYPEswo_verb.
DATAreturnTYPEswotreturn.
DATAlt_containerTYPESTANDARDTABLEOFswcont.
DATAlineTYPEswcont.
i_objtype=p_busobj.
i_element=p_attr.
i_objkey=p_key.
*Instantiatethebusinessobject.i.egiveitakeyandcreateit.
*Returnattribute.
access=p_access
object=object
verb=i_element
return=return
verb=verb
TABLES
container=lt_container.
*TheattributevalueisinthecontainerreturnedfromFM.
IFreturn-code=0.
LOOPATlt_containerINTOline.
WRITE:
/'
AttributeMATERIALTYPEis:
'
line-value.
ENDLOOP.
ENDIF.
Letsexecutethereportandseetheoutput:
NowletsseehowtocallamethodofBO.TheMethodDISPLAYwilldisplaythematerialpassedinBOcontainer.
---------------------------------------------------------------*
Tocallmethodwithimportparameters
REPORTz
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Working with Business Objects in SAP获取BO方法及属性 SAP 获取 BO 方法 属性
链接地址:https://www.bdocx.com/doc/16403265.html