Skip to content

Commit

Permalink
Initial release
Browse files Browse the repository at this point in the history
  • Loading branch information
mbtools committed Dec 13, 2023
1 parent be44019 commit 0d4df25
Show file tree
Hide file tree
Showing 12 changed files with 444 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/#mbtools#.nspc.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_NSPC" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<NSPC>
<NAMESPACE>/MBTOOLS/</NAMESPACE>
<REPLICENSE>42938377942002890965</REPLICENSE>
</NSPC>
<NSPC_TEXT>
<SPRAS>E</SPRAS>
<DESCRIPTN>Marc Bernard Tools</DESCRIPTN>
<OWNER>Marc Bernard Tools</OWNER>
</NSPC_TEXT>
</asx:values>
</asx:abap>
</abapGit>
55 changes: 55 additions & 0 deletions src/#mbtools#cl_test.clas.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
CLASS /mbtools/cl_test DEFINITION
PUBLIC
FINAL
CREATE PUBLIC.

************************************************************************
* MBT Test Tool
*
* Copyright 2023 Marc Bernard <https://marcbernardtools.com/>
* SPDX-License-Identifier: GPL-3.0-only
************************************************************************
PUBLIC SECTION.

METHODS initialize
IMPORTING
iv_test TYPE abap_bool.
METHODS pbo.
METHODS pai
CHANGING
!cv_ok_code TYPE sy-ucomm.
METHODS screen.

PROTECTED SECTION.
PRIVATE SECTION.

ENDCLASS.



CLASS /mbtools/cl_test IMPLEMENTATION.


METHOD initialize.
IF iv_test = abap_true.
MESSAGE 'Test ON' TYPE 'I'.
ELSE.
MESSAGE 'Test OFF' TYPE 'I'.
ENDIF.
ENDMETHOD.


METHOD pai.
CLEAR cv_ok_code.
ENDMETHOD.


METHOD pbo.
RETURN.
ENDMETHOD.


METHOD screen.
ASSERT 0 = 0.
ENDMETHOD.
ENDCLASS.
39 changes: 39 additions & 0 deletions src/#mbtools#cl_test.clas.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>/MBTOOLS/CL_TEST</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>MBT Test Tool</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<RSTAT>K</RSTAT>
</VSEOCLASS>
<DESCRIPTIONS>
<SEOCOMPOTX>
<CMPNAME>INITIALIZE</CMPNAME>
<LANGU>E</LANGU>
<DESCRIPT>Initialize app</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CMPNAME>PAI</CMPNAME>
<LANGU>E</LANGU>
<DESCRIPT>PAI</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CMPNAME>PBO</CMPNAME>
<LANGU>E</LANGU>
<DESCRIPT>PBO</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CMPNAME>SCREEN</CMPNAME>
<LANGU>E</LANGU>
<DESCRIPT>Screen</DESCRIPT>
</SEOCOMPOTX>
</DESCRIPTIONS>
</asx:values>
</asx:abap>
</abapGit>
69 changes: 69 additions & 0 deletions src/#mbtools#cl_tool_bc_test.clas.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
CLASS /mbtools/cl_tool_bc_test DEFINITION
PUBLIC
FINAL
CREATE PUBLIC.

************************************************************************
* MBT Test Tool
*
* Copyright 2023 Marc Bernard <https://marcbernardtools.com/>
* SPDX-License-Identifier: GPL-3.0-only
************************************************************************
PUBLIC SECTION.

INTERFACES /mbtools/if_tool.

CONSTANTS:
BEGIN OF c_tool,
version TYPE string VALUE '1.0.0' ##NO_TEXT,
title TYPE string VALUE 'MBT Test Tool' ##NO_TEXT,
description TYPE string VALUE 'Test for Marc Bernard Tools' ##NO_TEXT,
bundle_id TYPE i VALUE 1,
download_id TYPE i VALUE 9999,
has_launch TYPE abap_bool VALUE abap_true,
mbt_command TYPE string VALUE 'T',
mbt_shortcut TYPE string VALUE 'TEST',
END OF c_tool.

PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.



CLASS /mbtools/cl_tool_bc_test IMPLEMENTATION.


METHOD /mbtools/if_tool~install.
" Perform setup that was not included in installation
/mbtools/cl_logger_factory=>create_log(
object = '/MBTOOLS/'
subobject = 'EDD' )->i( 'Test install' ).
ENDMETHOD.


METHOD /mbtools/if_tool~launch.
/mbtools/cl_logger_factory=>create_log(
object = '/MBTOOLS/'
subobject = 'EDD' )->i( 'Test run' ).

/mbtools/cl_sap=>run_program( '/MBTOOLS/MBT_TEST' ).
ENDMETHOD.


METHOD /mbtools/if_tool~title.
rv_title = c_tool-title.
ENDMETHOD.


METHOD /mbtools/if_tool~tool.
MOVE-CORRESPONDING c_tool TO rs_tool.
ENDMETHOD.


METHOD /mbtools/if_tool~uninstall.
/mbtools/cl_logger_factory=>create_log(
object = '/MBTOOLS/'
subobject = 'EDD' )->i( 'Test uninstall' ).
ENDMETHOD.
ENDCLASS.
17 changes: 17 additions & 0 deletions src/#mbtools#cl_tool_bc_test.clas.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>/MBTOOLS/CL_TOOL_BC_TEST</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>MBT Test Tool</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<RSTAT>K</RSTAT>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>
145 changes: 145 additions & 0 deletions src/#mbtools#mbt_test.prog.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
REPORT /mbtools/mbt_test.
************************************************************************
* MBT Test
*
* Copyright 2023 Marc Bernard <https://marcbernardtools.com/>
* SPDX-License-Identifier: GPL-3.0-only
************************************************************************

TABLES sscrfields.

*-----------------------------------------------------------------------

* Main
SELECTION-SCREEN:
BEGIN OF SCREEN 200 AS SUBSCREEN,
BEGIN OF BLOCK b200 WITH FRAME,
COMMENT /1(77) sc_t200,
COMMENT /1(77) sc_t201,
END OF BLOCK b200,
BEGIN OF BLOCK b210 WITH FRAME.
PARAMETERS:
p_test AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN:
END OF BLOCK b210,
END OF SCREEN 200.

*-----------------------------------------------------------------------

* About
SELECTION-SCREEN:
BEGIN OF SCREEN 900 AS SUBSCREEN,
BEGIN OF BLOCK b900 WITH FRAME,
COMMENT /1(50) sc_t900,
COMMENT 60(25) sc_t901,
SKIP,
COMMENT /1(77) sc_t902,
END OF BLOCK b900,
BEGIN OF BLOCK b910 WITH FRAME,
PUSHBUTTON /1(55) sc_docu USER-COMMAND docu,
SKIP,
PUSHBUTTON /1(55) sc_tool USER-COMMAND tool,
SKIP,
PUSHBUTTON /1(55) sc_lice USER-COMMAND lice,
SKIP,
PUSHBUTTON /1(55) sc_home USER-COMMAND home,
END OF BLOCK b910,
END OF SCREEN 900.

*-----------------------------------------------------------------------

* Header
SELECTION-SCREEN:
BEGIN OF BLOCK sc_header,
SKIP,
SKIP,
COMMENT /3(77) sc_t001 FOR FIELD p_test,
SKIP,
END OF BLOCK sc_header,
BEGIN OF TABBED BLOCK sc_tab FOR 22 LINES,
TAB (40) sc_tab2 USER-COMMAND sc_push2 DEFAULT SCREEN 200,
TAB (40) sc_tab9 USER-COMMAND sc_push9 DEFAULT SCREEN 900,
END OF BLOCK sc_tab.

*-----------------------------------------------------------------------

CONSTANTS:
c_title TYPE string VALUE /mbtools/cl_tool_bc_test=>c_tool-title.

DATA:
gv_ok_code TYPE sy-ucomm,
go_tool TYPE REF TO /mbtools/cl_tool,
go_screen TYPE REF TO /mbtools/cl_screen,
go_app TYPE REF TO /mbtools/cl_test.

*-----------------------------------------------------------------------

MODULE pbo_100 OUTPUT.

go_screen->banner( abap_false ).

go_app->pbo( ).

ENDMODULE.

MODULE pai_100 INPUT.

go_app->pai( CHANGING cv_ok_code = gv_ok_code ).

ENDMODULE.

INITIALIZATION.

IF /mbtools/cl_switches=>is_active( c_title ) = abap_false.
MESSAGE e004(/mbtools/bc) WITH c_title.
RETURN.
ENDIF.

CREATE OBJECT go_app.

go_tool = /mbtools/cl_tool_manager=>factory( c_title ).
go_screen = /mbtools/cl_screen=>factory( c_title ).

go_screen->init(
IMPORTING
ev_text = sc_t001
ev_about = sc_tab9
ev_title = sc_t900
ev_version = sc_t901
ev_copyright = sc_t902
ev_docu = sc_docu
ev_tool = sc_tool
ev_home = sc_home
ev_lice = sc_lice ).

sc_tab2 = go_screen->header(
iv_icon = icon_color
iv_text = 'Test' ).

sc_t200 = 'This tool does nothing but test the core MBT'.
sc_t201 = 'features'.

*-----------------------------------------------------------------------

AT SELECTION-SCREEN.

go_app->screen( ).

go_screen->ucomm( sscrfields-ucomm ).

*-----------------------------------------------------------------------

AT SELECTION-SCREEN OUTPUT.

go_screen->banner( ).

go_app->screen( ).

*-----------------------------------------------------------------------

START-OF-SELECTION.

LOG-POINT ID /mbtools/bc SUBKEY c_title FIELDS sy-datum sy-uzeit sy-uname.

" Setup tree
go_app->initialize( p_test ).
47 changes: 47 additions & 0 deletions src/#mbtools#mbt_test.prog.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<PROGDIR>
<NAME>/MBTOOLS/MBT_TEST</NAME>
<SUBC>1</SUBC>
<APPL>S</APPL>
<RSTAT>K</RSTAT>
<RLOAD>E</RLOAD>
<FIXPT>X</FIXPT>
<UCCHECK>X</UCCHECK>
</PROGDIR>
<TPOOL>
<item>
<ID>I</ID>
<KEY>001</KEY>
<ENTRY>Login</ENTRY>
<LENGTH>50</LENGTH>
</item>
<item>
<ID>I</ID>
<KEY>002</KEY>
<ENTRY>URL</ENTRY>
<LENGTH>50</LENGTH>
</item>
<item>
<ID>I</ID>
<KEY>003</KEY>
<ENTRY>User</ENTRY>
<LENGTH>50</LENGTH>
</item>
<item>
<ID>I</ID>
<KEY>004</KEY>
<ENTRY>Password</ENTRY>
<LENGTH>50</LENGTH>
</item>
<item>
<ID>R</ID>
<ENTRY>MBT Test</ENTRY>
<LENGTH>18</LENGTH>
</item>
</TPOOL>
</asx:values>
</asx:abap>
</abapGit>
Binary file added src/#mbtools#mbt_test_tool.w3mi.data.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 0d4df25

Please sign in to comment.