Case 2 Visual LANSA Source

Visual LANSA

Case 2 - Visual LANSA Source

 

Function Options(*DIRECT)
BEGIN_COM ROLE(*EXTENDS #PRIM_PANL) DISPLAYPOSITION(1) HEIGHT(201) LAYOUTMANAGER(#ATLM_1) LEFT(0) TABPOSITION(1) TOP(0) WIDTH(323)
Attribute Class(#PRIM_ATTR.AX_TYPELIB) Guid('{0D4F2AF5-A003-464A-A10E-C60842AB9A4E}') TypeLibName('LANSA_AXPANELA_LIB')
Attribute Class(#PRIM_ATTR.AX_CLASS) Guid('{643DEA7B-A45C-498D-9983-F5044CE8281E}') ProgId('LANSA.AXPANELA')
Attribute Class(#PRIM_ATTR.AX_IN_INTERFACE)  Guid('{AD3DAC73-0CE5-44BE-8694-740FFFF1E78B}') BaseDispId(0)
Attribute Class(#PRIM_ATTR.AX_EVT_INTERFACE)  Guid('{7BDC12E6-3D78-4247-A89F-FF763D0DB017}') BaseDispId(0)
DEFINE_COM CLASS(#PRIM_GRID) NAME(#GRID_1) CAPTIONNOBLANKLINES(True) COLUMNBUTTONHEIGHT(18) COMPONENTVERSION(1) DISPLAYPOSITION(1) HEIGHT(201) LEFT(0) PARENT(#COM_OWNER) SHOWBUTTONSELECTION(True) SHOWSELECTION(True) SHOWSELECTIONHILIGHT(False) SHOWSORTARROW(True) TABPOSITION(1) TOP(0) WIDTH(323)
DEFINE_COM CLASS(#PRIM_ATLM) NAME(#ATLM_1)
DEFINE_COM CLASS(#PRIM_ATLI) NAME(#ATLI_1) ATTACHMENT(Center) MANAGE(#GRID_1) PARENT(#ATLM_1)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_1) CAPTIONALIGN(Left) CAPTIONTYPE(ColumnHeadings) DISPLAYPOSITION(1) PARENT(#GRID_1) SOURCE(#SKILCODE) WIDTH(20)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_2) CAPTIONTYPE(ColumnHeadings) COLUMNALIGN(Center) DISPLAYPOSITION(2) PARENT(#GRID_1) SOURCE(#GRADE) WIDTH(11)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_3) CAPTIONALIGN(Left) DISPLAYPOSITION(3) PARENT(#GRID_1) SOURCE(#SKILDESC) WIDTH(20) WIDTHTYPE(MinRemainder)
DEFINE_COM CLASS(#PRIM_GDCL) NAME(#GDCL_4) PARENT(#GRID_1) SOURCE(#EMPNO) VISIBLE(False) WIDTH(20)

Define_Pty Name(uEmployeeGiveName) Get(*auto #givename)
Attribute Class(#PRIM_ATTR.AX_IN_MEMBER) Dispid(0) Name('uEmployeeGiveName')
Define_Pty Name(uEmployeeSurname) Get(*auto #surname)
Attribute Class(#PRIM_ATTR.AX_IN_MEMBER) Dispid(1) Name('uEmployeeSurname')
Define_Pty Name(uEmployeeSalary) Get(*auto #salary)
Attribute Class(#PRIM_ATTR.AX_IN_MEMBER) Dispid(2) Name('uEmployeeSalary')

Mthroutine Name(uShowEmployeeSkills)
Attribute Class(#PRIM_ATTR.AX_IN_MEMBER) Dispid(3) Name('uShowEmployeeSkills')
Define_Map For(*input) Class(#empno) Name(#i_empno)
Define_Map For(*output) Class(#prim_boln) Name(#uDirty)

Set Com(#uDirty) Value(#com_false)

Clr_List Named(#GRID_1)
Change Field(#EMPNO) To(#I_EMPNO)
Fetch Fields(#SURNAME #GIVENAME #SALARY) From_File(PSLMST) With_Key(#EMPNO)
If_Status Is(*OKAY)
Select Fields(#SKILCODE #GRADE) From_File(PSLSKL) With_Key(#EMPNO)
Fetch Fields(#SKILDESC) From_File(SKLTAB) With_Key(#SKILCODE) Keep_Last(5)
Add_Entry To_List(#GRID_1)
Endselect
Endif
* set return code
If Cond('#grid_1.entries *eq 0')
Set Com(#uDirty) Value(#com_true)
Endif

Endroutine

End_Com

 

Ý Case 2 - Embed a Reusable Part