Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Simple object question, regarding passing bdcdata structure Argh

Former Member
0 Likes
777

Hi,

Here is my class I am trying to get working...

I have declared bdcdata as a global structure in the top include.

Now I want to append bdc data to the structure using method AppendData,

too tired to fight any longer... something simple im sure.

regards

FUNCTION-POOL ZQUADREM. "MESSAGE-ID ..

DATA : BEGIN OF BDCDATA OCCURS 0.

INCLUDE STRUCTURE BDCDATA.

DATA : END OF BDCDATA.

&----


*& Class ZCL_BDCENTRY_OBJECT

&----


  • Text

----


CLASS ZCL_BDCENTRY_OBJECT DEFINITION.

public section.

methods getFieldName

exporting _fnam type string.

methods getFieldValue

exporting _fval type string.

methods getProgram

exporting _program type string.

methods getScreen

exporting _scr type string.

methods getStartID

exporting _startid type string.

methods setFieldName

importing _fnam type string.

methods setFieldValue

importing _fval type string.

methods setProgram

importing _prog type string.

methods setScreenNum

importing _scrno type string.

methods setStartID

importing _startid type string.

methods AppendData

changing _bdcdata type bdcdata.

private section.

data program type string value ''.

data screen type string value '0'.

data startid type string value ''.

data fieldname type string value ''.

data fieldvalue type string value ''.

ENDCLASS. "ZCL_BDCENTRY_OBJECT

----


***INCLUDE LZQUADREMP01 .

----


&----


*& Class (Implementation) ZCL_BDCENTRY_OBJECT

&----


  • Text

----


CLASS ZCL_BDCENTRY_OBJECT IMPLEMENTATION.

method getFieldName.

_fnam = fieldname.

endmethod.

method getFieldValue.

_fval = fieldvalue.

endmethod.

method getProgram.

_program = program.

endmethod.

method getScreen.

_scr = screen.

endmethod.

method getStartID.

_startid = startid.

endmethod.

method setFieldName.

fieldname = _fnam.

endmethod.

method setFieldValue.

fieldvalue = _fval.

endmethod.

method setProgram.

program = _prog.

endmethod.

method setScreenNum.

screen = _scrno.

endmethod.

method setStartID.

startid = _startid.

endmethod.

method AppendData.

_bdcdata-program = program.

_bdcdata-dynpro = screen.

_bdcdata-dynbegin = startid.

_bdcdata-fnam = fieldname.

_bdcdata-fval = fieldvalue.

append _bdcdata.

endmethod.

ENDCLASS. "ZCL_BDCENTRY_OBJECT

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
743

Ok,

I has wrong to assume that was it!

How do I do that AppendData function so that I can change a structure passed to the function??

thanks.

6 REPLIES 6
Read only

Former Member
0 Likes
743

TYPES: bdcdata TYPE REF TO bdcdata.

in object definition...

regards

Dylan.

Read only

Former Member
0 Likes
743

See last post.

Just new to ABAP language defs.

Read only

Former Member
0 Likes
744

Ok,

I has wrong to assume that was it!

How do I do that AppendData function so that I can change a structure passed to the function??

thanks.

Read only

0 Likes
743

Use this...


append _bdcdata to bdcdata.

Greetings,

Blag.

Read only

0 Likes
743

Holy cow,

I think I tried every other permutation.

thanks,

Dylan.

Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
743

Try this.





* DEFINE THESE
TYPES: t_bdcdata TYPE TABLE OF bdcdata.
DATA: bdcdata TYPE t_bdcdata.

*----------------------------------------------------------------------*
*       CLASS zcl_bdcentry_object DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS zcl_bdcentry_object DEFINITION.

  PUBLIC SECTION.

    METHODS getfieldname
    EXPORTING _fnam TYPE string.

    METHODS getfieldvalue
    EXPORTING _fval TYPE string.

    METHODS getprogram
    EXPORTING _program TYPE string.

    METHODS getscreen
    EXPORTING _scr TYPE string.

    METHODS getstartid
    EXPORTING _startid TYPE string.

    METHODS setfieldname
    IMPORTING _fnam TYPE string.

    METHODS setfieldvalue
    IMPORTING _fval TYPE string.

    METHODS setprogram
    IMPORTING _prog TYPE string.

    METHODS setscreennum
    IMPORTING _scrno TYPE string.

    METHODS setstartid
    IMPORTING _startid TYPE string.

   METHODS appenddata
   CHANGING _bdcdata like line of bdcdata.   "<-- CHANGE THIS    

  PRIVATE SECTION.

    DATA program TYPE string VALUE ''.
    DATA screen TYPE string VALUE '0'.
    DATA startid TYPE string VALUE ''.
    DATA fieldname TYPE string VALUE ''.
    DATA fieldvalue TYPE string VALUE ''.

ENDCLASS. "ZCL_BDCENTRY_OBJECT


*----------------------------------------------------------------------*
*       CLASS ZCL_BDCENTRY_OBJECT IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS zcl_bdcentry_object IMPLEMENTATION.


  METHOD getfieldname.
    _fnam = fieldname.
  ENDMETHOD.                    "getFieldName

  METHOD getfieldvalue.
    _fval = fieldvalue.
  ENDMETHOD.                    "getFieldValue

  METHOD getprogram.
    _program = program.
  ENDMETHOD.                    "getProgram

  METHOD getscreen.
    _scr = screen.
  ENDMETHOD.                    "getScreen

  METHOD getstartid.
    _startid = startid.
  ENDMETHOD.                    "getStartID

  METHOD setfieldname.
    fieldname = _fnam.
  ENDMETHOD.                    "setFieldName

  METHOD setfieldvalue.
    fieldvalue = _fval.
  ENDMETHOD.                    "setFieldValue

  METHOD setprogram.
    program = _prog.
  ENDMETHOD.                    "setProgram

  METHOD setscreennum.
    screen = _scrno.
  ENDMETHOD.                    "setScreenNum

  METHOD setstartid.
    startid = _startid.
  ENDMETHOD.                    "setStartID

  METHOD appenddata.


clear _bdcdata.                         "<-- ADD THIS                   
_bdcdata-program = program.
_bdcdata-dynpro = screen.
_bdcdata-dynbegin = startid.
_bdcdata-fnam = fieldname.
_bdcdata-fval = fieldvalue.

APPEND _bdcdata TO bdcdata.   "<-- CHANGE THIS    

  ENDMETHOD.                    "AppendData

ENDCLASS. "ZCL_BDCENTRY_OBJECT

Regards,

Rich Heilman

Edited by: Rich Heilman on Feb 27, 2008 11:37 AM